一个简单的循环rsync是否同步完成脚本
2017-08-11 14:43
295 查看
用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
#!/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
相关文章推荐
- 一个简单的循环添加用户SHELL脚本
- 用最简单的脚本完成supertab的基本功能并实现一个更加合理的功能
- [AutoIt] 一个简单的MP4同步脚本
- 用最简单的函数实现功能:判断一个int数据是否是2的x次幂(不能使用循环)。
- 一个 rsync同步文件脚本
- C语言循环结构简单练习2——判断一个数是否为素数
- 一个简单的判断远端服务器端口是否通的Python脚本
- python 一个简单的、迅速生成和执行循环的辅助脚本
- 这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本
- 一个简单的 python 实现 图片同步脚本 ,对于有图片群集的项目有参考价值
- 写一个简单脚本检测mysql主从是否正常
- angularjs结合localstorage完成一个简单的备忘录
- shell脚本生成一个简单的计算器
- 一个简单方法完成C#时间间隔的计算
- 一个简单方法完成C#时间间隔的计算
- 完成一个简单的时间片轮转多道程序内核代码
- 一个简单的音频播放脚本
- 检查mysql同步是否完成再备份(死循环)
- 一个简单的C#多线程间同步(事件方法)的例子
- 一个简单的 linux下的备份脚本