服务器时间同步
方法一
[root@bogon hwh-ansible]# cat time-sync.sh
#!/bin/bash# NTP 服务器信息
NTP_SERVER="192.168.42.12"
PASSWORD="123456"# 多个 IP 地址
HOSTS=("192.168.42.8" "192.168.42.9" "192.168.42.10" "192.168.42.11" "192.168.42.12" "192.168.42.13" "192.168.42.14" "192.168.42.15" "192.168.42.16" "192.168.42.17" "192.168.42.18" "192.168.42.20" "192.168.42.21" "192.168.42.22" "192.168.42.23" "192.168.42.58" "192.168.42.59" "192.168.42.60" "192.168.42.48" "192.168.42.49" "192.168.42.50" "192.168.42.51" "192.168.42.52" "192.168.42.53" "192.168.42.54" "192.168.42.55" "192.168.42.57" "192.168.42.57")# 红色和正常颜色的ANSI转义码
RED="\033[31m"
NC="\033[0m" # 用于重置颜色# 循环处理每个 IP 地址
for HOST in "${HOSTS[@]}"
do
# 执行 SSH 命令并提取关键信息
OUTPUT=$(sshpass -p "$PASSWORD" ssh -o StrictHostKeyChecking=no root@$HOST "ntpdate $NTP_SERVER" 2>/dev/null)# 提取时间偏移信息
OFFSET=$(echo "$OUTPUT" | awk '/adjust time server/ {print $9, $10}' | cut -d ' ' -f 1)# 判断偏移量是否大于等于 2,并显示红色
if (( $(echo "$OFFSET >= 2" | bc -l) )); then
# 输出红色
echo -e "${RED}$HOST $NTP_SERVER $OFFSET${NC}"
else
# 正常输出
echo "$HOST $NTP_SERVER $OFFSET"
fi
done
方法二
#!/bin/bash
# NTP 服务器信息
NTP_SERVER="192.168.42.12"
PASSWORD="zstack@123"# 多个 IP 地址
HOSTS=("192.168.42.8" "192.168.42.9" "192.168.42.10" "192.168.42.11" "192.168.42.12" "192.168.42.13" "192.168.42.14" "192.168.42.15" "192.168.42.16" "192.168.42.17" "192.168.42.18" "192.168.42.20" "192.168.42.21" "192.168.42.22" "192.168.42.23" "192.168.42.58" "192.168.42.59" "192.168.42.60" "192.168.42.48" "192.168.42.49" "192.168.42.50" "192.168.42.51" "192.168.42.52" "192.168.42.53" "192.168.42.54" "192.168.42.55" "192.168.42.57" "192.168.42.57")# 循环处理每个 IP 地址
for HOST in "${HOSTS[@]}"
do
# 执行 SSH 命令并提取关键信息
OUTPUT=$(sshpass -p "$PASSWORD" ssh -o StrictHostKeyChecking=no root@$HOST "ntpdate $NTP_SERVER" 2>/dev/null)# 提取时间偏移信息
OFFSET=$(echo "$OUTPUT" | awk '/adjust time server/ {print $9, $10}')# 格式化输出
echo "$HOST $NTP_SERVER $OFFSET"
done