在 Linux 系统中同步时间可以通过以下方法实现,涵盖手动同步和自动同步(NTP服务)两种方式:
date
命令(需 root 权限)sudo date -s "2024-01-01 12:00:00" # 设置日期和时间
sudo hwclock --systohc # 将系统时间写入硬件时钟
sudo hwclock --hctosys # 将硬件时钟时间写入系统时间
timedatectl
(systemd系统默认工具)timedatectl status # 查看当前时间状态
sudo timedatectl set-ntp true # 启用NTP自动同步
sudo timedatectl set-ntp false # 禁用NTP自动同步
ntpdate
(手动触发NTP同步)sudo ntpdate pool.ntp.org # 手动从NTP服务器同步
注意:若未安装
ntpdate
,需先安装:
- Debian/Ubuntu:sudo apt install ntpdate
- RHEL/CentOS:sudo yum install ntpdate
chrony
(推荐,适合不稳定网络)sudo systemctl start chronyd # 启动服务
sudo systemctl enable chronyd # 设置开机自启
chronyc sources -v # 查看同步状态
安装:
- Debian/Ubuntu:sudo apt install chrony
- RHEL/CentOS:sudo yum install chrony
ntpd
服务sudo systemctl start ntpd # 启动服务
sudo systemctl enable ntpd # 设置开机自启
ntpq -p # 查看同步状态
安装:
- Debian/Ubuntu:sudo apt install ntp
- RHEL/CentOS:sudo yum install ntp
/etc/chrony/chrony.conf
或 /etc/ntp.conf
server pool.ntp.org iburst # 添加或替换为可用NTP服务器
server time.cloudflare.com iburst
sudo systemctl restart chronyd # chrony
sudo systemctl restart ntpd # ntpd
timedatectl list-timezones # 列出所有时区
sudo timedatectl set-timezone Asia/Shanghai # 设置时区(如上海)
timedatectl status # 检查NTP是否启用及同步状态
chronyc tracking # chrony的同步详情
ntpq -p # ntpd的同步详情
open-vm-tools
或 qemu-guest-agent
。根据系统环境选择合适的方法,现代Linux推荐使用 chrony
或 timedatectl
。