用rsync来同步文件,有时会碰到网络等问题同步未完成,写了个简单的循环判断,若同步失败则每隔5分钟再去同步
#!/bin/bash
date=`date +%F`rsynclog=/home/data/log/rsync$date.log
echo `date` >> $rsynclog
/usr/bin/rsync -azP -e ssh *.*.*.*:/data/wd/HYZX* /home/data >>$rsynclog 2>&1
sleep 5
var1=`cat $rsynclog |awk 'END {print $1}'`
var2=`tail -2 $rsynclog |head -n 1 |awk '{print $1}'`
sucess="${var1}${var2}"
while [ "$sucess" != "totalsent" ]
do
echo `date` >> $rsynclog
/usr/bin/rsync -azP -e ssh *.*.*.*:/data/wd/HYZX* /home/data >>$rsynclog 2>&1
sleep 300
var1=`cat $rsynclog |awk 'END {print $1}'`
var2=`tail -2 $rsynclog|head -n 1 |awk '{print $1}'`
sucess="${var1}${var2}"
done