同步服务器时间

提供一个同步服务器时间的脚本。该脚本用于同步物理机系统时间,首先检测并优先使用chrony或ntpdate工具连接阿里云NTP服务器进行时间同步,若未安装则自动安装chrony服务。接着将时区设置为Asia/Shanghai,最后显示当前系统时间和硬件时钟状态。脚本包含错误处理机制,支持多种Linux发行版,执行完成后会输出同步结果。

bash 复制代码
#!/bin/bash
# sync_time.sh - 同步物理机时间

echo "===== 开始时间同步 ====="

# 1. 物理机时间同步
echo "1. 同步物理机时间..."
if command -v chronyc &> /dev/null; then
    echo "  使用chrony同步..."
    systemctl stop chronyd 2>/dev/null
    chronyd -q 'server ntp.aliyun.com iburst' 2>/dev/null
    systemctl start chronyd 2>/dev/null
elif command -v ntpdate &> /dev/null; then
    echo "  使用ntpdate同步..."
    ntpdate -s time1.aliyun.com 2>/dev/null || \
    ntpdate -s ntp1.aliyun.com 2>/dev/null || \
    ntpdate -s time.windows.com 2>/dev/null
else
    echo "  安装时间同步工具..."
    dnf install -y chrony 2>/dev/null || yum install -y chrony 2>/dev/null
    systemctl start chronyd
    systemctl enable chronyd
    chronyd -q 'server ntp.aliyun.com iburst'
fi

# 2. 设置时区
echo "2. 设置时区..."
timedatectl set-timezone Asia/Shanghai 2>/dev/null || {
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    echo "Asia/Shanghai" > /etc/timezone 2>/dev/null || true
}

# 3. 显示当前时间
echo "3. 当前时间:"
date
hwclock -r 2>/dev/null || echo "无法读取硬件时钟"

echo "===== 时间同步完成 ====="
相关推荐
大树8817 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠17 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质17 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz18 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工18 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智19 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_19 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈19 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
施努卡机器视觉20 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
程序猿阿伟20 小时前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome