一个简单的循环rsync是否同步完成脚本

来源:互联网 发布:linux init 1 编辑:程序博客网 时间:2024/06/05 21:14

用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
原创粉丝点击