插件窝 干货文章 Linux云服务器如何配置自动时间同步

Linux云服务器如何配置自动时间同步

bash NTP sudo chrony 684    来源:    2025-04-22

在Linux云服务器上配置自动时间同步可以确保系统时间准确,避免因时间偏差导致的服务异常(如证书验证、日志记录等问题)。以下是详细配置方案:


方案一:使用 systemd-timesyncd(适用于现代Linux发行版)

大多数主流发行版(Ubuntu 16.04+/CentOS 8+/Debian 9+)已默认集成。

  1. 检查服务状态

    timedatectl status
    

    输出中若显示 NTP service: active 表示已启用。

  2. 启用NTP同步

    sudo timedatectl set-ntp true
    
  3. 验证时间源

    timedatectl show-timesync --all
    

方案二:使用 ntpd(传统NTP服务)

适合需要更精细控制的场景。

  1. 安装ntpd

    • Ubuntu/Debian: bash sudo apt install ntp
    • CentOS/RHEL: bash sudo yum install ntp
  2. 配置NTP服务器 编辑 /etc/ntp.conf,替换为国内常用NTP池:

    server ntp.aliyun.com iburst
    server cn.pool.ntp.org iburst
    
  3. 启动并设置开机自启

    sudo systemctl enable --now ntpd
    
  4. 验证同步状态

    ntpq -p
    

方案三:使用 chrony(推荐用于动态环境)

适合云服务器或频繁休眠/恢复的实例。

  1. 安装chrony

    • Ubuntu/Debian: bash sudo apt install chrony
    • CentOS/RHEL: bash sudo yum install chrony
  2. 配置服务器 编辑 /etc/chrony.conf,添加阿里云NTP:

    server ntp.aliyun.com iburst
    
  3. 重启服务

    sudo systemctl restart chronyd
    sudo systemctl enable chronyd
    
  4. 检查同步状态

    chronyc tracking
    chronyc sources -v
    

通用验证与排障

  1. 手动强制同步

    sudo ntpdate -u ntp.aliyun.com  # ntpd/chrony需先停止服务
    
  2. 查看系统时间

    date -R
    
  3. 防火墙放行NTP

    sudo ufw allow 123/udp  # Ubuntu
    sudo firewall-cmd --add-service=ntp --permanent  # CentOS
    
  4. 日志检查

    journalctl -u systemd-timesyncd  # systemd-timesyncd
    tail /var/log/syslog             # ntpd/chrony
    

推荐方案选择

  • 云服务器首选chrony(轻量、抗网络波动)
  • 传统环境ntpd(稳定性高)
  • 简单需求systemd-timesyncd(零配置)

通过以上配置,服务器将自动保持时间同步,误差通常可控制在毫秒级。