热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

svn备份和还原-daocaoren0311

1svn完全备份脚本的书写vidatamyscriptsfullsvnbackup内容如下:#!binbash#author:liuhaiqing#date:20110719riqi$(date+%Y%m%d)backupdirdatasvnbackmkdir-p$backupdir$riqiold$(svnlookyoungestdatasvnrepostest)echo$old

1 svn完全备份脚本的书写

vi  /data/myscripts/fullsvnbackup 内容如下:

  1. #!/bin/bash  
  2. #author:liuhaiqing  
  3. #date:20110719  
  4. riqi=$(date +'%Y%m%d')  
  5. backupdir=/data/svnback  
  6. mkdir -p $backupdir/$riqi  
  7. old=$(svnlook youngest /data/svn/repos/test/)  
  8. echo "$old" >/tmp/oldnumber  
  9. svnadmin dump /data/svn/repos/test --revision 0:$old --incremental >$backupdir/$riqi/0-"$old"svn.bak  

2 svn增量备份脚本书写

vi /data/myscripts/zengliangsvnbackup

  1. #!/bin/sh  
  2. riqi=$(date +'%Y%m%d')  
  3. backupdir=/data/svnback  
  4. mkdir -p $backupdir/$riqi  
  5. old=$(cat /tmp/oldnumber)  
  6. new=$(svnlook youngest /data/svn/repos/test/)  
  7. if [ $old = $new ]  
  8. then  
  9. echo "svn don't need backup"  
  10. else  
  11. b=$(expr 1 + $old)  
  12. echo "$new" >/tmp/oldnumber  
  13. svnadmin dump /data/svn/repos/test --revision $b:$new --incremental >$backupdir/$riqi/"$b"-"$new"svn.bak  
  14. fi 

3 增加计划任务

  1. 0  3  * * * sh /data/myscripts/fullsvnbackup   
  2. 0  8-20/2 * * * sh /data/myscripts/zenglingsvnbackup 

4 svn还原

恢复顺序从低版本逐个恢复到高版本;即,先恢复最近的一次完整备份,然后恢复紧挨着这个文件的增量备份

 

  1. cd /data/svn/repos/  
  2. svnadmin create test2  
  3. svnadmin load test2 data/svnback/20110719/0-1112svn.bak   
  4. svnadmin load test2 data/svnback/20110719/1113-1113svn.bak   
  5. chown -R daemon.daemon test2 

至此恢复成功

5 附上脚本,以免复制粘贴出问题

 


推荐阅读
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 从U ... [详细]
  • Java源代码安全审计(二):使用Fortify-sca工具进行maven项目安全审计
    本文介绍了使用Fortify-sca工具对maven项目进行安全审计的过程。作者通过对Fortify的研究和实践,记录了解决问题的学习过程。文章详细介绍了maven项目的处理流程,包括clean、build、Analyze和Report。在安装mvn后,作者遇到了一些错误,并通过Google和Stack Overflow等资源找到了解决方法。作者分享了将一段代码添加到pom.xml中的经验,并成功进行了mvn install。 ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
  • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
author-avatar
手机用户2502927925
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有