查看ntp服务器与上层ntp服务器的状态
[root@S5 ~]# ntpq -p
其中,
remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
refid - 参考上一层ntp主机地址
st - stratum阶层
when - 多少秒前曾经同步过时间
poll - 下次更新在多少秒后
reach - 已经向上层ntp服务器要求更新的次数
delay - 网络延迟
offset - 时间补偿
jitter - 系统时间与bios时间差
客户端同步时间的方法
方法一:使用 ntpdate
ntpdate [IP_Address]
看下面的例子,其中192.168.1.5是我在内网搭建的ntp服务器
[root@zy180 ~]# date
Thu Sep 25 13:04:17 CST 2008
[root@zy180 ~]# ntpdate 192.168.1.5
25 Sep 14:33:13 ntpdate[10302]: step time server 192.168.1.5 offset 5327.700798 sec
[root@zy180 ~]# date
Thu Sep 25 14:33:18 CST 2008
ntpdate 的特点:
1,ntpdate只运行一次就结束,即只同步一次。所以要使用ntpdate同步时间的话要将该命令写入cron中。
vi /etc/crontab
* * * * * root ntpdate 192.168.1.5 && hwclock -w
之所以使用hwclock -w命令稍后再说。
2,ntpdate同步时间是跳跃的,如上面的显示,时间立即就同步了,这将可能导致文件时间标记、监控数据的紊乱。
方法二:使用ntpd服务
step1:/etc/ntpd.conf 写入 server [IP_Address]
step2:chkconfig ntpd on
step3:service ntpd start
大概过一刻钟开始起作用。
FAQ:系统报错 - Sep 25 11:59:39 localhost kernel: set_rtc_mmss: can‘t update from 7 to 59
==================================网上查得源码==========================================
if (abs(real_minutes - cmos_minutes) < 30) { update_cmos() } else { printk("set_rtc_mmss: can‘t update from %d to %d\n", cmos_minutes, real_minutes); } ========================================================================================
bios时间与系统时间差异超过30分钟,就会报上述错误,只要修改bios时间或系统时间即可。
虚拟机下个人体验:
我的vm客户端用ntpd同步服务器后,慢慢变成标准时间,可接着又比标准时间越来越慢,然后出现上述报错。所以我觉得ntpd的同步频率比我的vm时钟频率跑得慢。
ntpd 的特点:
1,ntpd服务始终运行,定期同步时间。
2,ntpd服务是慢慢改变时间直至标准时间。
3,如果系统时间与bios时间差异超过30分钟,ntpd就会报错。
总结:
1,推荐使用 ntpd 服务。
2,ntpd开启后,无法使用ntpdate,看如下例子:
[root@zy180 ~]# service ntpd start
Starting ntpd: [ OK ]
[root@zy180 ~]# ntpdate 192.168.1.5
25 Sep 15:25:22 ntpdate[12334]: the NTP socket is in use, exiting
附:linux的时间、时区
1,时间
系统时间:date 命令
bios时间:hwclock命令 (-r 读取bios时间,-w 写入bios时间)
每次开机时系统重新读bios时间。
所以前面ntpdate命令时的cron脚本需要用到hwclock,以避免机器重启后时间混乱。
2,时区
linux的所有时区文件都放在 /usr/share/zoneinfo 下。
linux系统的时区文件是 /etc/localtime,这是个时间格式的档案,不是ACSII码。它与/usr/share/zoneinfo/下的自己的时区文件是一样的。
我的时区是Asia-Shanghai,用diff比较两个文件,如下:
[root@zy180 ~]# diff /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@zy180 ~]#
在 /etc/sysconfig/clock 文件中也写有本时区的信息:
[root@zy180 ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
原文地址:http://www.cnblogs.com/zhouhbing/p/3862170.html