配置Linux时间同步,现在的主流推荐是使用 chrony,它比传统的 ntpd 更新、适应性也更强。
⚙️ 方案一:使用 chrony(推荐)
chrony 尤其适合网络不稳定或需要频繁开关机的环境(如云服务器、移动设备),同步速度和精度都更优。
-
安装 chrony
- CentOS/RHEL/Fedora :
sudo yum install chrony - Ubuntu/Debian :
sudo apt install chrony
- CentOS/RHEL/Fedora :
-
配置时间源
配置文件通常位于
/etc/chrony.conf(CentOS/RHEL)或/etc/chrony/chrony.conf(Ubuntu/Debian)。编辑该文件,添加或修改server指令,比如使用国内的NTP池:server ntp.aliyun.com iburst server ntp.tencent.com iburst配置中的
iburst参数会加速初次同步速度。 -
启动并验证
bash# 启动服务并设置开机自启 sudo systemctl restart chronyd # 或 chrony sudo systemctl enable chronyd # 或 chrony # 查看同步状态(有 '*' 号标记的即为当前同步的源) chronyc sources -v # 查看详细跟踪信息 chronyc tracking
⚙️ 方案二:使用 ntpd(传统方案)
这是较老的工具,在一些旧系统上仍在使用,但在新版系统(如Ubuntu 24.04、Debian 12)中已被ntpsec取代。如果你确定要用,步骤如下:
-
安装 ntpd
- CentOS/RHEL 7 :
sudo yum install ntp - Ubuntu/Debian (旧版) :
sudo apt install ntp
- CentOS/RHEL 7 :
-
配置时间源
配置文件为
/etc/ntp.conf。同样,在文件中添加NTP服务器地址:server ntp.aliyun.com iburst server ntp.tencent.com iburst -
启动并验证
bash# 启动服务并设置开机自启 sudo systemctl restart ntpd # Ubuntu/Debian 可能服务名为 ntp sudo systemctl enable ntpd # 查看同步状态 ntpq -p
💎 核心区别与选择
| 特性 | chrony (推荐) | ntpd |
|---|---|---|
| 适用场景 | 大多数环境,尤其是不稳定网络 | 传统、对兼容性有特殊要求的旧系统 |
| 配置文件 | /etc/chrony.conf |
/etc/ntp.conf |
| 主要优点 | 同步速度快,对网络波动适应性强 | 非常成熟,文档齐全 |
| 验证命令 | chronyc sources -v |
ntpq -p |
💡 注意事项
- 服务冲突 :
chrony、ntpd是冲突的,同一时间只能运行一个时间同步服务,否则会相互干扰。 - 防火墙 :NTP服务使用UDP 123端口。如果其他机器需要从你的服务器同步时间,记得在防火墙放行此端口。
- 手动同步 :在服务正常运行后,建议不要使用
ntpdate等命令强制设置时间,这可能会破坏NTP服务缓慢调整时钟的机制。