修正 CentOS 系统时钟

修正 CentOS 系统时钟

使用时间 C 函数(自纪元以来的秒数)显示,我当前的 CentOS 6 服务器上的时间与另一台具有正确时间的服务器相比大约慢了 7 个小时。我该如何更正系统时钟?我不认为这是漂移,因为我几周前才设置了这台服务器,但可能是这样。我设置了 ntpd,但它没有帮助,可能是因为时差太大。

答案1

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

  1. 确保系统时区配置处于合理状态。

    除非有非常充分的理由(例如软件兼容性问题),否则服务器时钟应始终按照 UTC 时间运行。

    如果您决定不使用 UTC,请通过运行 选择一个时区tzselect。屏幕上会打印一个时区,您将在下面使用它。例如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为以下内容:

      ZONE="<timezone>"
      UTC=true
      

      例如:

      ZONE="Europe/Moscow"
      UTC=true
      

      请注意UTC=true,即使您不使用 UTC 作为时区,也应在此处设置。这指的是服务器的硬件时钟,无论您选择的系统时区如何,它都应始终为 UTC。

    2. /etc/localtime用所选时区的链接替换该文件:

      # 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. 重启计算机。重启是必要的,因为必须重启所有系统服务才能获取正确的时间和时区,并且需要测试服务器的硬件时钟(例如,电池故障)。

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

答案2

重点是,确保所比较的框的时区相同

编辑

如果 TZ 不同

/etc/本地时间

然后记得在比较系统时间时考虑 UTC 偏移量

相关内容