Linux服务器时间校准方法教程

查看当前时间和时区

校准时间前,先确认服务器当前时间和时区。
执行 date 命令能看到系统时间:

date

输出类似 Tue Mar 25 14:30:00 CST 2025,末尾的 CST 表示中国标准时间。
如果时区不对,用 timedatectl 查看完整信息:

timedatectl

重点关注 Time zoneSystem clock synchronized 两行。
如果时区不是 Asia/Shanghai,用以下命令设置:

timedatectl set-timezone Asia/Shanghai

设置后再次执行 timedatectl 确认变化。
这一步是后续Linux服务器时间校准方法的基础,时区错了校准也没意义。

用chrony自动同步时间

推荐使用 chrony 替代老旧的 ntpd,它更快、更准。
安装命令因发行版而异:

  • CentOS/RHEL/Fedora:yum install chrony -y
  • Ubuntu/Debian:apt install chrony -y

安装后编辑配置文件 /etc/chrony.conf,建议添加国内的NTP服务器:

vim /etc/chrony.conf

在文件顶部添加或替换为以下服务器:

server ntp.aliyun.com iburst
server ntp.tencent.com iburst
server ntp1.aliyun.com iburst

保存后启动并设置开机自启:

systemctl start chronyd
systemctl enable chronyd

查看同步状态:

chronyc sources -v

输出中出现 ^* 开头的行表示已成功同步。
继续用 timedatectl 验证:

timedatectl

如果 System clock synchronized: yesNTP service: active,说明自动同步生效。
这是最推荐的Linux服务器时间校准方法。

手动设置时间(应急用)

某些环境无法连接外网NTP,比如内网服务器。
可以直接手动设置:

date -s "2025-03-25 14:30:00"

这条命令只改系统时间,重启后会失效。
需要同时写入硬件时钟:

hwclock -w

执行 hwclock -r 确认硬件时间已同步。
手动设置后建议重启chrony(如果安装了)以避免下次启动被覆盖:

systemctl restart chronyd

注意:手动设置误差大,只适合临时修复。
长期使用仍应配置自动同步。

常见问题与避坑

Q1:防火墙阻止NTP同步
NTP使用UDP 123端口。如果服务器有防火墙,需放行:

firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload

或使用iptables。
放行后重新启动chrony。

Q2:时区已设,但时间仍差8小时
检查硬件时钟是否为UTC。执行 timedatectl 查看 RTC in local TZ 是否为 no。如果 yes,会导致系统与硬件时间冲突。建议保持 no,让硬件时钟使用UTC:

timedatectl set-local-rtc 0

Q3:虚拟机时间漂移严重
VMware或KVM虚拟机建议安装open-vm-tools(VMware)或qemu-guest-agent(KVM),它们会同步宿主机时间。安装后重启虚拟机。

Q4:chronyc sources 显示 ^? 表示不可达
检查网络连通性,用 ping ntp.aliyun.com 测试。如果通,检查配置文件中的 server 行是否写对。

验证校准是否成功

校准完一定要验证。
运行以下命令一行行确认:

timedatectl
chronyc tracking

timedatectl 中关键字段:

  • Local time 应与本地时间一致
  • Universal time 与UTC一致
  • RTC time 应与硬件时间一致
  • Time zone 正确
  • System clock synchronized: yes
  • NTP service: active

chronyc tracking 会显示 Last offset,理想情况接近0(如+/-0.01秒内)。
如果想直观对比,用 date 和手机或另一台已知准确时间的机器对比。

日常维护建议加入crontab定时校准(虽然chrony会自动处理,但加一个冗余更保险):

crontab -e

添加一行:

0 */6 * * * /usr/sbin/chronyc -a makestep

每6小时强制快同步一次。
这样你的Linux服务器时间校准方法就完整了,再也不用担心日志错乱或证书过期问题。

分享到:
上一篇
WordPress邮件发送配置:零基础也能搞定的SMTP设置
下一篇
Docker部署Kafka消息队列
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意