必须用 chrony 替代 ntpdate 和 ntpd 校准宝塔面板服务器时间,因其启动快、抗网络抖动、支持离线补偿;需配置阿里云等国内 ntp 源、禁用宝塔内置无效校时,并通过 timedatectl 和 chronyc tracking 验证同步状态。

宝塔面板服务器时间不准,90% 的 HTTPS 证书错误、登录会话失效、定时任务漏跑、日志时间错乱都源于此——必须立刻校准,且不能只靠一次性 ntpdate。
为什么系统时间会漂移?
虚拟机(尤其是阿里云、腾讯云轻量服务器)默认不启用硬件时钟同步;物理服务器主板电池老化也会导致断电后时间重置。Linux 内核虽有 adjtimex 补偿机制,但长期运行后仍可能偏差数秒甚至分钟。
常见现象包括:SSL certificate has expired、Token is invalid or expired、宝塔后台「计划任务」显示“未执行”但日志为空、journalctl 时间戳跳变。
用 chrony 替代 ntpdate 和 ntpd
ntpd 在容器/云环境兼容性差,ntpdate 是单次强制同步,无法持续纠偏。chrony 启动快、对网络抖动容忍高、支持离线补偿,是当前 CentOS 8+/Ubuntu 20.04+ 默认时间服务。
- CentOS/AlmaLinux:运行
yum install -y chrony,然后systemctl enable --now chronyd - Ubuntu/Debian:运行
apt install -y chrony,然后systemctl enable --now chrony - 检查状态:
chronyc tracking(看System time是否为OK),chronyc sources -v(确认已连接到有效 NTP 源)
配置国内可靠 NTP 源并禁用宝塔自带的无效校时
宝塔面板「软件商店 → 系统工具 → 时间校准」里默认调用的是已弃用的 pool.ntp.org 子域名,解析不稳定,且该功能仅在页面点击时触发一次,无守护能力。
- 编辑配置:
/etc/chrony.conf,注释掉所有server行,添加国内源:server ntp.aliyun.com iburstserver ntp1.aliyun.com iburstserver ntp2.aliyun.com iburst - 重启服务:
systemctl restart chronyd - 关闭宝塔内置校时:进入宝塔后台 → 「计划任务」→ 找到名称含「时间校准」或「ntpdate」的任务 → 删除或禁用
验证校准效果与异常处理
不要只看 date 输出——它可能被 timedatectl set-ntp false 手动锁死。真正有效的判断方式是:
- 运行
timedatectl status,确认NTP enabled: yes且System clock synchronized: yes - 观察偏差值:
chronyc tracking | grep "Offset",正常应稳定在 ±50ms 内 - 若长期 >100ms:检查防火墙是否放行 UDP 123 端口(
firewall-cmd --list-ports),或尝试换用time1.cloud.tencent.com - 若提示
No valid sources found:可能是云厂商禁用了外网 NTP(如华为云某些区域),此时需改用其内网 NTP 地址,例如100.100.32.13(阿里云 VPC 内网地址)
时间同步不是“设完就完”,chronyd 进程意外退出、NTP 源不可达、系统负载过高都会导致 drift 积累——建议每周用脚本抽查一次 chronyc tracking 输出,并记录到日志。










