shell脚本利用淘宝时间接口同步linux服务器时间

内容目录

需求原因

公司网络策略内网服务器很多端口协议都屏蔽了

root@003:~# ntpdate ntp.aliyun.com
24 Jul 14:06:22 ntpdate[571148]: no server suitable for synchronization found

shell脚本

#!/bin/bash

# 获取时间戳
timestamp=$(curl -s 'https://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp' | grep -oP '(?<="t":")[^"]+')

# 转换时间戳到北京时间
# 淘宝时间戳是以毫秒为单位的,先除以1000再转换
datetime=$(date -d "@$(($timestamp / 1000))" +"%Y%m%d%H%M%S")

# 输出转换后的时间
echo "Converted Beijing Time: $datetime"

# 设置系统时间
sudo date -s "$(date -d "@$(($timestamp / 1000))" +"%Y-%m-%d %H:%M:%S")"

脚本添加定时任务

vim /etc/crontab 
#每天1点40同步数据
40 1    * * *   root    bash /root/ntpdate.sh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注