两种服务

目前在Linux上做时间同步的服务主要有两种:ntpd、chrony。
这两个应用既可以做服务端,又可以做客户端,也就意味着:一台服务器可以从公网获得时间并传递给其他的设备。
在局域网内,多个设备协同服务的时候,时间同步起到至关重要的作用。
在设置时间同步之前。

先把时区确定下来

  1. # 查看当前时区设置
  2. timedatectl
  3. # 显示所有可用的时区
  4. timedatectl list-timezones
  5. # 设置当前时区
  6. sudo timedatectl set-timezone Asia/Shanghai

时区确定完毕以后,接下来使用以下命令确定系统使用的是

chrony还是ntpd

  1. systemctl status chronyd
  2. chronyd.service - NTP client/server
  3. Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
  4. Active: active (running) since Tue 2022-01-18 09:44:26 CST; 1 months 13 days ago
  5. Docs: man:chronyd(8)
  6. man:chrony.conf(5)
  7. Main PID: 1143 (chronyd)
  8. Tasks: 1
  9. Memory: 4.6M
  10. CGroup: /system.slice/chronyd.service
  11. └─1143 /usr/sbin/chronyd

出现服务的详情就表示系统上使用的是chrony,如果提示服务未找到,或者服务没有运行,可以尝试以下命令看看系统上是否已经运行NTP。

  1. systemctl status ntp
  2. systemctl status ntpd

ntpd作为老牌项目,目前已经停止维护,最后一次更新还是在2016年。普遍被性能和稳定性更好的chrony代替。
当然不管是ntpd还是chrony都可以满足服务器之间时间同步的需求。