Linux ntpd同步ntp时间以及写入到服务器的UTC方案20250107V1

Linux ntpd同步ntp时间以及写入到服务器的UTC
一. 系统环境和配置 Kylin Linux Advanced Server release V10 (SP3) /(Lance)-x86_64-Build23/20230324
安装ntp并配置好/etc/ntpd.conf
二. 测试和验证过程
1.手动把服务器的UTC时间调整为前一天,并重启服务器进行验证
检查systemctl status ntpd.service和检查ntp日志,可以得知根据目前的策略,ntpd服务无法启动,时间无法同步。
2.解决方案 使用ntpdate强制同步时间测试先查询当前和ntp服务器的时间差异:ntpdate -q 99.3.2.248
然后同步时间:ntpdate 99.3.2.248
还需要同步时间到服务器的UTC时间,使用命令如下:hwclock --systohc最后重启ntpd.service
验证无误,可以使用。
3. 验证
服务器重启进入BIOS验证当前时间
进入系统后查看时间和ntpd.serice 以及ntpq -p验证
4. 写入脚本并开机后运行一次进行
# 创建脚本
vi /usr/local/bin/sync-time.sh
# 脚本内容
#!/bin/bash
# 停止ntpd服务
systemctl stop ntpd.service
# 强制同步时间,这里根据情况填写ntp server的地址
ntpdate 99.3.2.248
# 将系统时间同步到硬件时间
hwclock --systohc
# 启动ntpd服务
systemctl start ntpd.service
设置开机运行一次,可以创建自定义系统服务,仅在开机运行一次或者使用/etc/rc.local的方案,这里使用/etc/rc.local的方案
设置脚本权限
chmod +x /usr/local/bin/sync-time.sh
chmod +x /etc/rc.local
加入到/etc/rc.local 开机运行
然后手动修改时间后重启服务器验证脚本运行无误。
三. 总结
在ntpd的配置文件中设置tinker panic 500的情况下,可以使用 ntpdate来同步ntp server的时间,然后用hwclock --systohc同步到硬件UTC中,最后重启一下ntpd.service