问题描述
有的时候我们的 Linux 服务器可能会遇到时间与现实时间不同步的问题,导致一些错误。今天我们将介绍如何修复这个问题。
本文将以 Debian Linux 系统为例。
检查时区
如果服务器时间和现实时间差距是完整的几个小时,比如一个小时,两个小时等。这个问题基本上是服务器的时区没设置对,输入下列命令查看状态:
timedatectl status
显示结果如下,我们查看 Time Zone 是否正确。
如果时区不正确,使用下列命令设置 Time Zone:
timedatectl set-timezone Asia/Shanghai
其中系统支持的时区可以使用下面的命令查看:
timedatectl list-timezones
设置 NTP 服务器
如果服务器时间和现实时间的差值不是一个小时的倍数,那可能是 NTP 服务器的问题。系统使用的 debian.pool.ntp.org
在有些地区可能会出现无法连接的情况,就需要我们手动修改 NTP 同步服务器。
输入下列命令修改 /etc/systemd/timesyncd.conf
文件:
nano /etc/systemd/timesyncd.conf
定位到 [Time]
区域下的 NTP 行,删除最前面的 # 号,并添加几个常见的 NTP 服务器(服务器之间用空格分开):
修改完成后输入 ctrl + o 保存,再输入 ctrl + x 退出。
我们重启一下时间同步服务器:
systemctl restart systemd-timesyncd
这个时候我们需要开启服务器的 NTP 同步功能:
timedatectl set-ntp true
接着查看一下 NTP 服务器是否正确:
timedatectl timesync-status
最后我们查看一下时间是否正确:
date -R