Linux时间同步ntpdate

Linux服务器要求时间准确,但是Linux本身没有网络时间同步功能,我们需要借助ntpdate功能来实现时间精准。如果Linux没有安装ntpdate软件,请到http://www.ntp.org/downloads.html下载稳定版,编译安装(./configure && make && make install),安装需要root权限。

安装后,可以将ntpdate命令写到crontab里。

 

另外,引用网络资料,关于Linux时间的问题:

Linux时间和CMOS时间的同步 写道
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS

 所以我们要将命令组合,利用shell命令:命令1 && 命令2的写法,代表如果命令1执行成功,就执行命令2.

那么我们crontab -e 写入如下语句即可:

0 9 * * * ntpdate time.windows.com && clock -w 
注意crontab配置文件的语法:分 时 日 月 周 命令

请注意上述命令中网址time.windows.com是可以更换的,但更换前请确认命令ntpdate time.windows.com 是否能执行成功。成功提示如下:

13 Dec 10:28:59 ntpdate[8711]: step time server 65.55.21.13 offset 670.744126 sec

如果再次执行,往往得到如下类似结果:

13 Dec 10:29:11 ntpdate[8808]: adjust time server 65.55.21.13 offset 0.000579 sec

就是时间调整很小。

失败的话,如下:

13 Dec 10:29:50 ntpdate[8809]: no server suitable for synchronization found

报告没有合适的服务器。

 

 

猜你喜欢

转载自canlynet.iteye.com/blog/1746908