修正CentOS系统时钟

使用时间Cfunction(自Epoch以来的秒数)显示,与另一台正确时间的服务器相比,我现在的CentOS 6服务器上的时间大约晚了7个小时。 我怎样才能纠正系统时钟? 我不认为这是漂移,因为我几个星期前刚刚设置这台服务器,但它可能是。 我设置ntpd,但它没有帮助,也许是因为时差太多了。

简单的答案是“手动设置date”,您需要这样做,但要防止这种情况再次发生,您应该做更多的事情。

  1. 确保系统时区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 

    通过以下步骤将系统时钟设置为所需的时区:

    1. /etc/sysconfig/clock的内容replace为以下内容:

       ZONE="<timezone>" UTC=true 

      例如:

       ZONE="Europe/Moscow" UTC=true 

      注意UTC=true应该在这里设置,即使你不使用UTC作为你的时区。 这是指服务器的硬件时钟,无论您select何时系统时区,该时钟始终应为UTC。

    2. /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 
  2. 手动设置时钟到当前时间。

    1. 将系统时钟同步到当前时间:

       # ntpd -g -q 
    2. 检查时间是否正确:

       # date 
    3. 将服务器的硬件时钟同步到系统时钟:

       # hwclock -wu 
  3. 重新启动计算机。 重新启动是必要的,因为必须重新启动所有系统服务才能获得更正的时间和时区,并且需要testing服务器的硬件时钟(例如,对于故障电池)。

    重启后,检查系统是否显示正确的时间,ntpd是否正常运行。

要点是,确保时区与您正在比较的框相同

编辑

如果TZ不同

在/ etc /本地时间

那么记得在比较系统时间时考虑UTC偏移量