一切从零开始

SVN版本库备份

上一篇 / 下一篇  2009-01-13 14:31:32 / 个人分类:软件测试基础

这一节呢我讲的是一种很原始的方式,如果大家觉得不好用可以不用,本文紧供参考

   先说下可以备份的方式,使用第三方软件拷贝备份,使用SVN官方开发的页面式备份,使用SVN命令方式备份;

   比较下三种方式,第三方软件备份,缺点备份不全面如果在备份过程中内容有变化,将会出现备份内容不准确;官方提供的页面备份,因为此类备份是使用http协议制作的管理页面,自身有一定缺陷,有时会出现备份不成功的现象;命令方式备份,由于是在底层所以一般不会出现什么错误,但是备份复杂。

   我这里就说下原始的底层备份,请看以下操作步骤:

   1、完全备份

      svnadmin hotcopy这是SVN提供的命令,我这里提供两个批处理文件去备份,大家只做稍微修改就可以使用了

    首先选择一个盘符创建一个文件夹SVNROOT,D:\SVNROOT下创建了两个文件,prjBackup.bat:

@echo 正在备份版本库%1……

@%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2

@echo 版本库%1成功备份到了%2

     然后是backup.bat

echo off

rem Subversion的安装目录

set SVN_HOME="D:\Subversion"

rem 所有版本库的父目录

set SVN_ROOT=D:\svnroot

rem 备份的目录

set BACKUP_SVN_ROOT=D:\svnrootbak

set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10%

if exist %BACKUP_DIRECTORY% goto checkBack

echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log

mkdir %BACKUP_DIRECTORY%

rem 验证目录是否为版本库,如果是则取出名称备份

for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" %SVN_ROOT%\simpleBackup.bat "%%~fI" %%~nI

goto end

:checkBack

echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。

goto end

:end

使用的时候,只需要修改backup.bat开头的三个路径

     给系统添加任务at 1:00 /every:M D:\svnroot\backup.bat,让系统每天在凌晨1点去执行这个文件

    2、增量备份

            时间有限 明天再写


TAG: softtest

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 18557
  • 日志数: 20
  • 建立时间: 2009-01-09
  • 更新时间: 2009-07-10

RSS订阅

Open Toolbar