$ cat sync
#!/bin/sh
#$1 IP
#$2 syncMax 同步上限
#$3 syncMin 同步下限
#$4 强制同步标志
echo "服务器:$1 上限:$2 下限:$3 强制同步标志:$4"
#!/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
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
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
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
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