centos时间同步内网ntp ip脚本
时间: 2023-08-28 09:06:26 浏览: 143
你可以按照以下步骤来编写一个自动同步 CentOS 服务器时间的脚本:
1. 安装 ntpdate 工具:
```
yum install ntpdate -y
```
2. 编写脚本:
```
#!/bin/bash
ntp_server="your_ntp_server_ip"
# 检查 ntpdate 是否安装
if ! command -v ntpdate &> /dev/null
then
echo "ntpdate not found. Installing..."
yum install ntpdate -y
fi
# 获取本地时间
local_time=$(date +%s)
# 获取 NTP 服务器时间
ntp_time=$(ntpdate -q $ntp_server | awk '/ntpdate/ {print $6" "$7}')
# 将 NTP 服务器时间转换为时间戳
ntp_time=$(date -d "$ntp_time" +%s)
# 计算时间差
time_diff=$((ntp_time-local_time))
# 如果时间差小于 60 秒,则不进行时间同步
if [ $time_diff -lt 60 ]
then
echo "Time is already synchronized."
exit 0
fi
# 同步时间
ntpdate $ntp_server
echo "Time synchronized successfully."
```
3. 保存脚本并添加执行权限:
```
chmod +x your_script.sh
```
4. 执行脚本:
```
./your_script.sh
```
5. 可以将脚本添加到定时任务中,定期自动同步时间:
```
# 每天凌晨 2 点同步时间
0 2 * * * /path/to/your_script.sh
```
注意:以上脚本仅适用于内网环境下,如果服务器能够访问外网,建议使用 chronyd 或 systemd-timesyncd 进行时间同步。
阅读全文