一個簡單的循環rsync是否同步完成腳本

用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章