You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写通用Bash脚本批量修正多Linux服务器chrony.conf配置

通用Chrony NTP配置批量修改脚本

脚本功能

  • 自动识别Ubuntu 20-22、CentOS 7/RHEL 8系统
  • 检查目标NTP配置是否已存在,存在则直接退出
  • 备份原始chrony.conf配置文件
  • 注释系统默认的NTP/server条目
  • 添加指定的NTP池配置
  • 重启chrony服务确保配置生效

完整脚本

#!/bin/bash

# 目标NTP配置条目
TARGET_NTP1="pool time.nrc.ca iburst"
TARGET_NTP2="pool time.chu.nrc.ca iburst"
CHRONY_CONF="/etc/chrony/chrony.conf"

# 检查目标配置是否已存在
if grep -q -E "^${TARGET_NTP1}$|^${TARGET_NTP2}$" "$CHRONY_CONF"; then
    echo "目标NTP配置已存在,无需修改,退出脚本"
    exit 0
fi

# 备份原始配置
BACKUP_FILE="${CHRONY_CONF}.backup.$(date +%Y%m%d%H%M%S)"
cp "$CHRONY_CONF" "$BACKUP_FILE"
echo "已备份原始配置至: $BACKUP_FILE"

# 识别系统发行版
if grep -q "ID=ubuntu" /etc/os-release; then
    # Ubuntu系统:注释默认的pool条目
    sed -i '/^#\?pool.*ubuntu\.com\|^#\?pool.*ubuntu\.pool\.ntp\.org/s/^/#/' "$CHRONY_CONF"
elif grep -q "ID=\"centos\"" /etc/os-release || grep -q "ID=rhel" /etc/os-release; then
    # CentOS/RHEL系统:注释默认的server条目
    sed -i '/^#\?server.*centos\.pool\.ntp\.org/s/^/#/' "$CHRONY_CONF"
else
    echo "不支持当前系统类型,退出脚本"
    exit 1
fi

# 添加目标NTP配置
echo -e "\n${TARGET_NTP1}\n${TARGET_NTP2}" >> "$CHRONY_CONF"
echo "已添加目标NTP配置"

# 重启chrony服务
if command -v systemctl &> /dev/null; then
    systemctl restart chronyd
    echo "已重启chronyd服务"
else
    echo "无法重启chrony服务,请手动重启"
fi

echo "配置修改完成"

脚本说明

  1. 配置检查:用grep精确匹配目标NTP条目,避免重复修改操作
  2. 配置备份:自动生成带时间戳的备份文件,防止配置丢失后无法回滚
  3. 系统识别:通过/etc/os-release文件判断系统类型,兼容性更强
  4. 注释原有条目:用sed匹配系统默认的NTP/server行,在行首添加#注释,保留原始配置痕迹
  5. 添加新配置:在配置文件末尾追加目标NTP条目,不干扰其他已有配置
  6. 服务重启:用systemctl重启chronyd服务,确保新配置立即生效

使用方法

  1. 将脚本保存为update_chrony_ntp.sh
  2. 赋予执行权限:chmod +x update_chrony_ntp.sh
  3. 以root权限运行:sudo ./update_chrony_ntp.sh

注意事项

  • 确保服务器能正常访问目标NTP服务器time.nrc.ca和time.chu.nrc.ca
  • 若部分系统的chrony配置路径为/etc/chrony.conf,需修改脚本中的CHRONY_CONF变量
  • 若chrony服务名称为chrony而非chronyd,需调整脚本中的服务重启命令

内容的提问来源于stack exchange,提问作者Tech Enthusiast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:52:51