使用时间Cfunction(自Epoch以来的秒数)显示,与另一台正确时间的服务器相比,我现在的CentOS 6服务器上的时间大约晚了7个小时。 我怎样才能纠正系统时钟? 我不认为这是漂移,因为我几个星期前刚刚设置这台服务器,但它可能是。 我设置ntpd,但它没有帮助,也许是因为时差太多了。
简单的答案是“手动设置date”,您需要这样做,但要防止这种情况再次发生,您应该做更多的事情。
确保系统时区configuration处于正常状态。
除非有非常强的原因(如软件兼容性问题),否则服务器时钟应始终在UTC时间运行。
如果您决定不使用UTC,请通过运行tzselectselect一个时区。 时区将打印在屏幕上,您将在下面使用。 Europe/Moscow就是一个例子。 否则使用UTC作为下面的时区。
Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Europe/Moscow
通过以下步骤将系统时钟设置为所需的时区:
将/etc/sysconfig/clock的内容replace为以下内容:
ZONE="<timezone>" UTC=true
例如:
ZONE="Europe/Moscow" UTC=true
注意UTC=true应该在这里设置,即使你不使用UTC作为你的时区。 这是指服务器的硬件时钟,无论您select何时系统时区,该时钟始终应为UTC。
将/etc/localtime文件replace为所选时区的链接:
# ln -snf /usr/share/zoneinfo/<timezone> /etc/localtime
例如:
# ln -snf /usr/share/zoneinfo/Europe/Moscow /etc/localtime # ln -snf /usr/share/zoneinfo/UTC /etc/localtime
手动设置时钟到当前时间。
将系统时钟同步到当前时间:
# ntpd -g -q
检查时间是否正确:
# date
将服务器的硬件时钟同步到系统时钟:
# hwclock -wu
重新启动计算机。 重新启动是必要的,因为必须重新启动所有系统服务才能获得更正的时间和时区,并且需要testing服务器的硬件时钟(例如,对于故障电池)。
重启后,检查系统是否显示正确的时间,ntpd是否正常运行。
要点是,确保时区与您正在比较的框相同
编辑
如果TZ不同
在/ etc /本地时间
那么记得在比较系统时间时考虑UTC偏移量