我在服务器上安装了 Centos,我注意到当我将 date 命令的输出与 time.gov(当然是相同的时区)进行比较时,输出落后了 4 分钟。这也影响了我在 MySQL 中的时间戳,所以这是一个令人讨厌的问题。
有没有办法永久解决这个问题,以便即使服务器重启后,当前时间仍然正确?
答案1
是的,您需要将系统时间与外部时间服务器同步。高端解决方案是运行ntp
,更简单的解决方案是直接调用ntpclient
或ntpdate
。
请注意,由于太多 Linux 机器访问相同的时间服务器,现在有一些针对每个发行版的包装器。例如,在一台 Ubuntu 机器上,我有这个/etc/crontab
:
03,23,43 * * * * root ntpdate-debian -s
ntpdate-debian
它的手册页中哪里有这个:
ntpdate-debian
与 (8) 相同,只是它默认ntpdate
使用中的配置 。ntpdate 通过轮询网络时间协议 (NTP) 服务器来设置本地日期和时间。/etc/default/ntpdate
然后/etc/default/ntpdate
我们看到
# List of NTP servers to use (Separate multiple servers with spaces.)
# Not used if NTPDATE_USE_NTP_CONF is yes.
NTPSERVERS="ntp.ubuntu.com"
指向 Ubuntu 池。
答案2
安装NTTP 协议。或者作为临时修复ntpdate pool.ntp.org
在终端中运行。
答案3
yum install ntp
echo server 0.north-america.pool.ntp.org > /etc/ntp.conf
echo server 1.north-america.pool.ntp.org >> /etc/ntp.conf
echo server 2.north-america.pool.ntp.org >> /etc/ntp.conf
echo server 3.north-america.pool.ntp.org >> /etc/ntp.conf
chkconfig ntpd on
/etc/init.d/ntpd start
只需将北美替换为更本地化的地区/国家即可NTP 池