你是否遇到过这样的崩溃瞬间:排查故障时,发现应用日志和数据库日志的时间差了整整8小时?或者定时任务明明设置了凌晨执行,结果却在中午跑了?
这往往是因为服务器时间不同步惹的祸。今天教大家如何用Linux下最稳健的工具——chrony,彻底解决时间漂移问题。
为什么选择chrony?
相比老牌的ntpd,chrony更适合现代网络环境:
- 更轻量:资源占用极低,CentOS 7+和Ubuntu 20.04+的默认选择
3步搞定时间同步
场景一:外网环境
安装Chrony
一行命令即可:
# CentOS/RHELsudo yum install -y chrony# Ubuntu/Debiansudo apt install -y chrony
配置国内NTP源
编辑配置文件/etc/chrony.conf,建议替换为国内大厂源,速度更快更稳:
#同步阿里云时间服务器server ntp.aliyun.com iburst
启动与验证
#启动并加入开机自启sudo systemctl enable --now chronyd#查看状态,看到^*标记表示已经同步[root@localhost ~]# chronyc sources -v^+ 119.28.206.193 2 10 377 173 -8429us[-8429us] +/- 48ms^* 139.199.214.202 2 10 377 635 +2269us[+2597us] +/- 35ms^+ 139.199.215.251 2 10 377 600 -2908us[-2908us] +/- 32ms^+ 101.35.255.34 3 10 377 566 +7597us[+7597us] +/- 34ms
场景二:内网环境(服务器无法连接外网)
搭建私有NTP授时同步服务器,或者直接购买。
1.替换为NTP内网地址
ntp.conf方式:
vim /etc/ntp.conf#新增内网ntp服务器地址server 192.168.100.17
chrony.conf方式:
vim /etc/chrony.conf#新增内网ntp服务器地址server 192.168.100.17 iburst
避坑小贴士
- 硬件时钟:别忘了执行
sudo hwclock --systohc,把时间写入主板BIOS,防止重启后时间“一夜回到解放前”。 - 时区检查:使用
timedatectl确认时区是Asia/Shanghai。 - 防火墙:如果同步失败,检查一下UDP 123端口是不是被墙了。
搞定收工!这下时间同步了,锅也不用你背了。觉得这篇教程帮你省了事?赶紧点赞转发,让更多兄弟少加点班!