或者是否还有其他ntp对时的方法?
谢谢!
代码: 全选
sudo ntpdate -p 8 192.168.1.217
3 Jul 07:37:37 ntpdate[29404]: step time server 192.168.1.217 offset 218.957805 sec
代码: 全选
sudo ntpdate -p 8 192.168.1.217
3 Jul 07:37:37 ntpdate[29404]: step time server 192.168.1.217 offset 218.957805 sec
是通过计划任务的形式校时,5分钟一次,有的机器每次ntpdate输出offset都是200多秒。
系统断网的情况下,5分钟内自己走不会偏,没有最走最快,或者越走越慢;astolia 写了: ↑2020-07-03 21:29 你还是没有说关键信息:有问题的机器,校正后时间正确吗?它的走时准不准?5分钟一次都能差200秒,你在断网情况下花个5分钟,一边跑watch -n 1 date 一边和手机手表对比一下不费事吧?
我能想到的几种可能
1、系统上有其他的定时脚本从其他ntp服务器获取时间,那台服务器的时钟和你win7服务器有差异
2、ntpdate执行后没有用hwclock -w调整硬件时钟,然后系统由于某些原因又从不准的硬件时钟里读取重新设置了系统时间
3、有人拦截篡改了NTP的数据包,或者破坏了ntpdate设置系统时钟的功能
4、硬件时钟坏了,计时误差过大
你这个只能说明硬件时钟晶振是比较准确的,不能说明其他问题
不会修改硬件时钟,只会修改系统时间,需要你手动用hwclock来把系统时间同步到硬件时钟,否则每次重启后又回到校正前的状态了。硬件时钟包含两部分,一个是主板上cmos里记录的时间日期,一个是时钟晶振提供的时间流逝速率。系统只会在启动时获取一次cmos时间日期,如果晶振走时不准即提供的时间流逝速率不准,就会导致系统时间变快或变慢,自然offset就不正常。不过通过断网测试,已经排除了这种可能。
就是ntp服务器回应的数据包里记录的时间和你当前系统时间差距大。原因下面三者之一
十分感谢你耐心的帮忙分析!astolia 写了: ↑2020-07-04 14:57你这个只能说明硬件时钟晶振是比较准确的,不能说明其他问题
不会修改硬件时钟,只会修改系统时间,需要你手动用hwclock来把系统时间同步到硬件时钟,否则每次重启后又回到校正前的状态了。硬件时钟包含两部分,一个是主板上cmos里记录的时间日期,一个是时钟晶振提供的时间流逝速率。系统只会在启动时获取一次cmos时间日期,如果晶振走时不准即提供的时间流逝速率不准,就会导致系统时间变快或变慢,自然offset就不正常。不过通过断网测试,已经排除了这种可能。
就是ntp服务器回应的数据包里记录的时间和你当前系统时间差距大。原因下面三者之一
1)数据包里的时间错了
2)是当前系统时间错了
3)ntpdate程序在处理过程中出错了
其中,
1)有可能是a)ntp服务器的时间就不准或者b)数据包传输过程中被篡改了
2)可能是c)硬件时钟晶振走时不准,d)有其他程序在根据硬件时钟调整系统时间,或者e)有其他程序在通过ntp调整系统时间
然后上面你否认了b,通过实验排除了c和d。
我一直在问你服务器时间正不正确和有问题的机器校正后时间正不正确,就是想确定上面3和a的情况,但你一直不说。3的可能性最低,因为当ntpdate出错,那么设置的系统时间就会和ntp服务器时间有差,很容易发现,你不说就当它没问题。
那么剩下a和e两种情况,最可能的就是系统上某些程序之后向其他ntp服务器发送请求,两个服务器之间的时间有差异,就覆盖掉了之前从局域网服务器获取的时间数据。你在连网情况下用上面的watch+date看系统时间是否有突变,或者wireshark之类的抓包软件抓取一下ntp包,就很容易确定是不是这种情况