适用于云服务器、物理机或虚拟机,确保系统时间准确并与 NTP 服务器同步
存档使用,防止忘记
安装时间同步服务
注:ntpdate 已弃用,不推荐使用,chrony 或 ntpd 适合高精度场景,普通用途 systemd-timesyncd 足够
# 更新软件包列表
apt update
# 安装 systemd-timesyncd(轻量、集成于 systemd)
apt install -y systemd-timesyncd配置 NTP 服务器
# 编辑文件
cat > /etc/systemd/timesyncd.conf <<EOF[Time]
NTP=ntp.ntsc.ac.cn
FallbackNTP=cn.pool.ntp.org pool.ntp.org
RootDistanceMaxSec=5
PollIntervalMinSec=32
PollIntervalMaxSec=2048
EOFntp.ntsc.ac.cn:中国科学院国家授时中心官方 NTP 服务器FallbackNTP:备用服务器,提高可用性
启用并启动服务
# 重载 systemd 配置(如有修改 unit 文件时需要,可选)
systemctl daemon-reload
# 启用开机自启
systemctl enable systemd-timesyncd
# 立即启动服务
systemctl start systemd-timesyncd验证时间同步状态
timedatectl status正常输出应包含
System clock synchronized: yes
NTP service: active- 首次同步可能需要 10~60 秒,请稍等后再检查。
手动强制立即同步(可选)
systemd-timesyncd 默认不支持“立即强制同步”命令,可以重启服务触发一次同步
systemctl restart systemd-timesyncd
sleep 10
timedatectl status若需立即同步且可接受时间跳变,可临时安装 ntpdate(不推荐长期使用):
apt install -y ntpdate
ntpdate -s ntp.ntsc.ac.cn备份当前时间配置(可选)
将关键配置文件复制到备份目录,mkdir 路径可自行修改
mkdir -p /root/backup/time-config
cp /etc/systemd/timesyncd.conf /root/backup/time-config/
cp /etc/timezone /root/backup/time-config/ 2>/dev/null || echo "No /etc/timezone"
timedatectl show > /root/backup/time-config/timedatectl-show.txt恢复时间配置(可选)
如果修改修改 mkdir 路径,也需要修改,跟上面“备份当前时间配置” 一致
# 恢复配置文件
cp /root/backup/time-config/timesyncd.conf /etc/systemd/timesyncd.conf
# 重新加载并重启服务
systemctl daemon-reload
systemctl restart systemd-timesyncd保存为脚本(可选)
#!/bin/bash
set -e
echo "安装 systemd-timesyncd"
apt update && apt install -y systemd-timesyncd
echo "配置 NTP 服务器"
cat > /etc/systemd/timesyncd.conf <<EOF
[Time]
NTP=ntp.ntsc.ac.cn
FallbackNTP=cn.pool.ntp.org pool.ntp.org
EOF
echo "启动并启用服务"
systemctl enable --now systemd-timesyncd
echo "检查状态"
timedatectl status赋予执行权限并运行
chmod +x setup-ntp.sh
./setup-ntp.sh使用注意
- 不要用多个 NTP 服务(如同时运行
chrony和systemd-timesyncd),会导致冲突 - 云服务器通常底层已提供时间同步(如 AWS 的
chrony、阿里云的ntp) - 适用于 Debian/Ubuntu,其他系统未作测试


