在引导时使用 ntpdate(8) 来配合运行 ntpd(8) 是个不错的主意。
ntpd(8) 渐进地修正时钟,而 ntpdate(8) 则直接设置时钟,无论机器的当前时间和正确时间有多大的偏差。
请不要用 cron 强制同步时间。
这样会造成系统时间剧烈抖动并破坏网络传输延迟补偿。
ntpd 服务器设置后会自动调整下一次和上源同步的时间间隔。ntpdate只需在ntpd启动前运行一次即可。
ntpd 设置好一旦开始运行完全没有必要使用 ntpdate 和 cron。
我在工作中建立的三个时间系统,全公司所有联网设备理论时间同步误差小于0。128 秒, 抽样实测误差小于 0。250 秒。 如果使用 ntpdate 和 cron, 监测图表的曲线会
有与 cron 吻合的大辐跳动,每次跳动后,同步补偿需要 24-48 小时才能将曲线平稳,而你的 cron 每两天甚至每20分钟启动一次,全网络的设备都会被强制跟随服务器调整
。
ntpdate 是用来从上源取得时间初值,但不对网络延迟做补偿。
而ntpd 有一个自我保护设置:如果本机与上源时间相差太大,ntpd 不运行。
所以,新设置的时间服务器要先 ntpdate 从上源取得时间初值,然后启动 ntpd。
ntpd 运行后,先是每64秒与上源同步一次,根据每次同步时测得的误差值经复杂计算逐步调整自己的时间,随着误差减小,逐步增加同步的间隔。
每次跳动,都会重复这个调整的过程。
有关nepdate与ntpd的区别,就介绍这些吧,希望对大家有所帮助。