插件窝 干货文章 linux同步时间怎么设置

linux同步时间怎么设置

同步 sudo NTP timedatectl 485    来源:    2025-04-06

在 Linux 系统中同步时间可以通过以下方法实现,涵盖手动同步和自动同步(NTP服务)两种方式:


一、手动同步时间(临时生效)

1. 使用 date 命令(需 root 权限)

sudo date -s "2024-01-01 12:00:00"  # 设置日期和时间

2. 同步硬件时钟(BIOS时间)

sudo hwclock --systohc  # 将系统时间写入硬件时钟
sudo hwclock --hctosys  # 将硬件时钟时间写入系统时间

二、自动同步时间(NTP服务)

1. 使用 timedatectl(systemd系统默认工具)

timedatectl status                  # 查看当前时间状态
sudo timedatectl set-ntp true       # 启用NTP自动同步
sudo timedatectl set-ntp false      # 禁用NTP自动同步

2. 使用 ntpdate(手动触发NTP同步)

sudo ntpdate pool.ntp.org          # 手动从NTP服务器同步

注意:若未安装 ntpdate,需先安装:
- Debian/Ubuntu: sudo apt install ntpdate
- RHEL/CentOS: sudo yum install ntpdate

3. 使用 chrony(推荐,适合不稳定网络)

sudo systemctl start chronyd       # 启动服务
sudo systemctl enable chronyd      # 设置开机自启
chronyc sources -v                # 查看同步状态

安装
- Debian/Ubuntu: sudo apt install chrony
- RHEL/CentOS: sudo yum install chrony

4. 传统 ntpd 服务

sudo systemctl start ntpd          # 启动服务
sudo systemctl enable ntpd         # 设置开机自启
ntpq -p                           # 查看同步状态

安装
- Debian/Ubuntu: sudo apt install ntp
- RHEL/CentOS: sudo yum install ntp


三、配置NTP服务器地址

1. 修改 /etc/chrony/chrony.conf/etc/ntp.conf

server pool.ntp.org iburst       # 添加或替换为可用NTP服务器
server time.cloudflare.com iburst

2. 重启服务生效

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的同步详情

常见问题

  1. 同步失败:检查防火墙是否放行UDP 123端口,或更换NTP服务器。
  2. 时间差大:若偏差超过1000秒,NTP可能拒绝同步,需先手动校正。
  3. 虚拟机时间漂移:在VMware/KVM中安装 open-vm-toolsqemu-guest-agent

根据系统环境选择合适的方法,现代Linux推荐使用 chronytimedatectl