251117-Ntp-Ubuntu时间同步配置-自动同步网络时间(NTP)

251117-Ntp-Ubuntu时间同步配置-自动同步网络时间(NTP)

systemd-timesyncd和chrony区别

1
2
3
4
5
6
7
举例:

- 笔记本频繁休眠/唤醒 → chrony 能在联网后 3~5 秒完成同步,timesyncd 可能要等下一次周期或手动重启服务
- 内网需要自建 NTP 服务器 → timesyncd 做不到;chrony 加一行 `allow 192.168.0.0/24`

因此,**“客户端-only + 极简配置”** 选 systemd-timesyncd;
**其余所有场景**(尤其云、虚拟化、不稳定网络、服务器角色)直接上chrony

Ubuntu/Linux 服务器上调整系统时间(日期和时间)可以通过以下命令实现,具体分为 手动设置自动同步
(NTP)两种方式:

查看当前系统时间

1
date

或查看详细时区信息:

1
timedatectl

手动设置时间

(1) 使用 date 命令(临时生效,重启可能失效)

1
sudo date -s "2024-05-21 15:30:00"

或:

1
2
sudo date +%T -s "15:30:00"   # 仅修改时间
sudo date +%Y%m%d -s "20240521" # 仅修改日期

(2) 使用 timedatectl(推荐,永久生效)

1
sudo timedatectl set-time "2024-05-21 15:30:00"

或分别设置日期和时间:

1
2
sudo timedatectl set-time 15:30:00
sudo timedatectl set-time 2024-05-21

3. 设置时区

(1) 查看可用时区

1
timedatectl list-timezones

或搜索特定时区(如上海):

1
timedatectl list-timezones | grep Shanghai

(2) 修改时区

1
sudo timedatectl set-timezone Asia/Shanghai

或使用传统方式:

1
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. 自动同步网络时间(NTP)

1
sudo timedatectl set-ntp true

检查状态:

1
timedatectl status

(2) 手动强制同步

如果 NTP 未自动同步,可以手动触发:

1
sudo systemctl restart systemd-timesyncd

或使用 ntpdate(需安装):

1
2
sudo apt install ntpdate -y
sudo ntpdate pool.ntp.org

5. 硬件时间(BIOS时间)同步

1
sudo hwclock --systohc

查看硬件时间:

1
sudo hwclock --show

总结

需求 命令
查看时间 date 或 timedatectl
手动改时间 sudo timedatectl set-time “YYYY-MM-DD HH:MM:SS”
修改时区 sudo timedatectl set-timezone Asia/Shanghai
启用 NTP 自动同步 sudo timedatectl set-ntp true
强制同步 NTP sudo ntpdate pool.ntp.org
同步硬件时间 sudo hwclock –systohc
1
2
3
4
⚠️ 注意:

在 生产服务器 上修改时间可能影响日志、数据库、计划任务等,建议在维护窗口操作。
如果服务器运行 Kubernetes/Docker,还需同步容器时间。