时钟同步

$ cat sync
#!/bin/sh
#$1 IP
#$2 syncMax 同步上限
#$3 syncMin 同步下限
#$4 强制同步标志
echo "服务器:$1 上限:$2 下限:$3 强制同步标志:$4"
if [ $4 == 1 ];
then
        echo "强制同步"
        echo "111111"| sudo -S ntpdate $1
        echo "同步结束"
else  // grep -w用于字符串精确匹配
        offset=`ntpdate -d $1 | grep -w "filter offset:" | awk '{print $3}'`
 //-n 来判定字符串非空。
        if [ ! -n "$offset" ];
        then
                echo "服务器错误"
                exit 1
        fi
        if [ `echo "$offset == 0" | bc` -eq 1 ];
        then
                echo "服务器错误1"
                exit 1
        fi
        echo "本地与服务器时间差 $offset 秒"
        if [ `echo "$offset < 0" | bc` -eq 1 ];
        then
                offset=$(echo "0 - $offset" | bc);
                echo "本地时间服务器时间快了$offset秒"
        else
                echo "本地时间服务器时间慢了$offset秒"
        fi
        #小于等于上限 大于等于下限
        if [ `echo "$offset < $2" | bc` -eq 1 -a `echo "$offset > $3" | bc` -eq 1 ];
        then
                echo "同步"
                echo "111111"| sudo -S ntpdate $1  //sudo -S ntpdate $1
                echo "同步结束"
        else
                echo "与参数不符不能同步"
                exit 2
        fi
fi
posted @ 2019-08-08 20:13  countryboy666  阅读(211)  评论(0编辑  收藏  举报