我们的一台 Linux 机器上的时间非常奇怪。每当我调用 date 3 次时,第 4 次调用都会给出错误的时间(通常晚 1 小时)。我已设置 cron 来与 ntp 服务器同步。我们有 20 多个类似的服务器,只有这台有这个问题。有什么想法吗?谢谢。
Linux 2.6.18-6-686 #1 SMP 2009 年 8 月 20 日星期四 21:56:59 UTC i686 GNU/Linux
编辑:
:~# 日期;日期;日期;日期;日期;日期;日期;日期;日期;日期
2010 年 6 月 11 日星期五 19:12:46 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 19:12:46 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 17:59:28 PDT
2010 年 6 月 11 日星期五 19:12:46 PDT
日期;睡眠 10;日期;睡眠 10;日期;睡眠 10;日期;睡眠 10;日期;睡眠 10;日期;睡眠 10;日期;睡眠 10;日期
2010 年 6 月 11 日星期五 18:05:32 PDT
2010 年 6 月 11 日星期五 19:19:00 PDT
2010 年 6 月 11 日星期五 18:05:52 PDT
2010 年 6 月 11 日星期五 19:19:20 PDT
2010 年 6 月 11 日星期五 18:06:12 PDT
2010 年 6 月 11 日星期五 19:19:40 PDT
2010 年 6 月 11 日星期五 18:06:32 PDT
答案1
事实上,它似乎总是相差一个小时左右,这强烈表明您在某处错误地设置了时区,并且您正在运行的同步工具之一正在尝试将您的时间设置为错误的时区。
我们也正在运行 ntpd。谢谢。
您不应该运行 ntpd 并通过 cron 使用其他工具设置时间。运行多个工具来同步时间几乎总是会让事情变得更糟。
选择一个工具并只使用它。如果此服务器是虚拟化的,请确保考虑时间同步,这是您的 VM 工具的一部分。应该只有一件事来设置时间。
答案2
为什么不使用 ntpd 而不是 cron 中的 ntp?
答案3
是的,选择一种方法并坚持下去。如果在选择了一种方法之后一方法,但仍然遇到此问题,那么是时候考虑这是由于硬件错误造成的。我并不是硬件专家,但这似乎是原因。RTC 电池故障(不太可能)、系统板上的 RF 干扰(更有可能)等。
顺便说一句,ntpd 是为时钟同步而设计的,它的设计目的是独家的时钟控制器。选择 ntpd。
答案4
从您的评论来看,ntp 工作正常(它与 time2.srv.ualbe 同步)。禁用所有其他更新时钟的方法。使用 检查时间date
。如果时间错误,则会发生以下情况之一:
您定义了错误的时区(您的情况是 PDT)。在这种情况下,结果
date --utc
将在此机器和其他机器上匹配。NTP 服务器提供了错误的时间(在您的情况下这种情况不太可能发生,因为有 4 台服务器同意同一日期 - 所有偏移量都低于 0.1 秒)。