企业中难免会有使用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

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

  

svn同步小脚本的更多相关文章

  1. gitlab 同步小脚本

    gitlab 是公司中的代码仓库,如何保证两台机器同步呢 公司中使用的是docker那么久使用docker进行演示了也方便以后的工作查找资料 附:脚本 #!/bin/bash docker stop ...

  2. SVN同步

    SVN同步:1.在备份服务器上安装SVN,之后创建同名的库名2.在备机的Repositories的库文件夹下的hooks目录下,备份并修改pre-revprop-change.tmpl文件为pre-r ...

  3. linux 下svn同步更新钩子

    svn服务器搭建:https://www.linuxidc.com/Linux/2017-05/144254.htm SVN版本库中的一个项目:/svn/repositories/test/ 网站目录 ...

  4. 第一个Mac shell 小脚本

    大多数程序员都喜欢偷懒的,我也不例外.相信好多Android开发的coder 在网络http请求方面,会浪费很多时间在接口调试这里..有时候,自己写了一个小测试,行还好,不行的话,还要跟写后台的哥们一 ...

  5. 写了一个常规性生成merge 的小脚本

    现在使用数据库来写存储过程,动不动参数就会用到xml ,当然罗,优势也很明显,参数相对固定,而且灵活,如果要修改或者什么的,中间接口层也不需要做变化,只需要修改封装的存储过程以及程序传参就ok了. 随 ...

  6. 周末娱乐一下--------恶搞windows小脚本

    下面这是个循环DOS命令,使用了C中的goto语句 echo命令式输出命令 set命令是设置命令 var是变量,初始为0 :continue是一个用于goto的标示. %var%输出变量名,%var% ...

  7. SVN版本号打包脚本工具

    做网页游戏开发的时候,经常会触及到对文件版本号的管理.最近由于做新项目的原因,把原来手写版本号的方法改进了一下,借由svn的版本号生成及用java写了个xml解析输出文件,把手动的东西都变成全自动. ...

  8. 用Python实现一个爬取XX大学电费通知的小脚本

    内容简要 1分析网站 2简单爬取 3进阶自定义爬取 4保存进数据库 学校基础设施太差,宿舍电量过低提醒虽然贴在楼下,但是作为低头一族,经常忘记看提醒导致宿舍酣战时突然黑屏,为了避免这种尴尬的场景以及强 ...

  9. atitit.提升备份文件复制速度(3) ----建立同步删除脚本

    atitit.提升备份文件复制速度(3) ----建立同步删除脚本 1. 建立同步删除脚本两个方法.. 1 2. 1从回收站info2文件... 1 3. 清理结束在后snap比较 1 4. Npp  ...

随机推荐

  1. flutter key

    随意点开一个Widget,就会发现,可以传递一个参数Key.那这个Key到底是干啥子,有什么用呢? Flutter是受React启发的,所以Virtual Dom的diff算法也参考过来了(应该是略有 ...

  2. elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心

    1.最佳字段(Best fields):: 假设我们有一个让用户搜索博客文章的网站(允许多字段搜索,最佳字段查询),就像这两份文档一样: PUT /my_index/my_type/1 { " ...

  3. Mysql 数据库介绍

    数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API接口用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中, ...

  4. Idea 全局替换指定字符

    最近使用idea开发,刚接触不久,然后碰到需要全局替换的时候,懵逼了.之前使用eclipse 直接Ctrl+F 就可以操作了. 现在使用idea 摁Ctrl+F竟然只能搜,不能替换....尴尬的一匹. ...

  5. centos etcd 启动失败

    chmod -R 777 /var/lib/etcd systemctl daemon-reload cat /etc/systemd/system/etcd.service " [Unit ...

  6. webpack(import路径配置)(自动打开浏览器)(自定义运行命令)

  7. css的再深入8(更新中···)

    1.去滚动条的属性 overflow:hidden; overflow-x:hidden; 水平超出的隐藏. 2.z-index 层次叠加 元素重叠 谁的值大谁在上面 (1) 父级出现position ...

  8. 在myeclipse中使用log4j记录日志

    1.从官方网站下载 jakarta-log4j-1.2.17.tar.gz http://logging.apache.org/log4j/1.2/download.html 2.在eclipse中将 ...

  9. vmware workstation 14 快速安装操作系统

    一.NAT网络配置 设置子网IP.子网掩码 网关IP:子网IP前三位+2 DHCP设置 二.网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYP ...

  10. Dubbo和Spring Cloud微服务架构对比

    https://blog.csdn.net/zhangweiwei2020/article/details/78646252