我希望这里有人能帮助我解决这个奇怪的问题。
我想我知道为什么会发生,但我不知道如何解决它。 也许这是因为BIOS时间设置不正确或类似的东西。 但我不想改变约400多台服务器的BIOS时间。 (或更改BIOS电池)
root@spool:~# echo TEST > /dev/kmsg root@spool:~# dmesg -T | tail -1 [Mon Feb 17 04:57:03 2014] TEST root@spool:~# date Mon Feb 17 11:45:17 CET 2014
服务器正在运行ntp进行时间同步。
任何人都知道如何解决这个问题在操作系统?
Linux spool 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux
为什么在回显到/dev/kmsg , dmesg消息date/时间与系统date/时间不同步?
为了validation你的理论(顺便说一下),以root身份执行以下操作:
hwclock --show
这将显示您在执行命令的服务器上的硬件时钟。
要使硬件时钟与系统时间(由ntppipe理)同步,请运行以下命令:
hwclock --systohc --utc
最后一个参数(–utc)告诉hwclock将时间存储在硬件时钟的协调一致时间中。
另外,请记住dmesg(1)的手册页如下,因此您遇到的行为是有logging的和有效的:
-T, --ctime Print human-readable timestamps. Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME.
dmesg只是打印内核循环缓冲区,以启动时间为秒的正常运行时间logging消息。
所以,如果你使用-T选项,所有这些正常运行时间的值只是添加到系统启动的date。 如果你有多次睡眠暂停或恢复,他们会丢失,所以在这种情况下,T选项没有用,因为date/时间值不正确,然后回来。