svn同步小脚本

企业中难免会有使用svn 的怎么给svn做好备份呢

下面是用两个脚本进行同步和监控

同步脚本:

#!/bin/bash 
i=1
while true
do
if [ $(expr $i % 12) == 0 ];then

        i=1
        mail -s "svn备份消息推送" lize@example.com </root/backsvn47.log
else
        echo `date +"%F %T"` "IP开始异地备份目标公司192.168.30.197,服务所在地公司">/root/backsvn47.log
        /usr/bin/rsync -avzu --progress --delete --password-file=/etc/rsync.passwd rsync@ipaddress::svnbakdir /hwdata/backsvn47/ >>/root/backsvn47.log
        if [ $? -eq 0 ];then
                echo `date +"%F %T"` "备份成功">>/root/backsvn47.log

        else
                echo `date +"%F %T"` "备份失败">>/root/backsvn47.log
                mail -s "svn备份消息推送" lize@example.com </root/backsvn47.log

        fi

        sleep 300
        let i++

fi
done

  

 

监控小脚本

#!/bin/bash 
times=$(ps -ef | grep /root/backsvn.sh |grep -v grep |wc -l)
if [ $times -eq 1 ];then
        echo `date +"%F %T"` "正常"
else
        echo `date +"%F %T"` $(ps -ef | grep /root/backsvn.sh |grep -v grep)>/root/svn_check_life.log

        echo `date +"%F %T"` "尝试启动同步脚本">>/root/svn_check_life.log
        kill -9 $(ps -ef | grep /root/backsvn.sh |grep -v grep|awk '{print $2}')
        sleep 1
        /bin/bash /root/backsvn.sh
        echo "尝试启动同步脚本"
        if [ $? -eq 0 ];then
                echo `date +"%F %T"` "脚本启动完毕" >>/root/svn_check_life.log
        else
                echo `date +"%F %T"` "脚本启动失败" >>/root/svn_check_life.log
                mail -s "svn监控脚本消息推送" lize@example </root/svn_check_life.log
        fi

fi

 

*/10 * * * * /bin/bash /root/60backsvn.sh

十分钟监控一次如果脚本被关闭,重启如果重启失败,则发送邮件

 

  

 

转载于:https://www.cnblogs.com/lize3379/p/6604741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值