本节主要讲解一下Windows下的SVN备份,我在这跟大家分享一下完全备份和增量备份,欢迎大家一起学习SVN备份。下面是具体的介绍:
1、完全备份脚本:
首先看一下SVN备份的完全备份。文件名backup.bat:
echooff
remSubversion的安装目录
setSVN_HOME="C:\ProgramFiles\VisualSVNServer"
rem所有版本库的父目录
setSVN_ROOT=d:\svn//库目录
rem备份的目录
setBACKUP_SVN_ROOT=目的地(如:\\192.168.0.1\svnbak)
setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10%
ifexist%BACKUP_DIRECTORY%gotocheckBack
echo建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
md%BACKUP_DIRECTORY%
rem验证目录是否为版本库,如果是则取出名称进行SVN备份
for/r%SVN_ROOT%%%Iin(.)do@ifexist"%%I\conf\svnserve.conf"%SVN_ROOT%\simpleBackup.bat"%%~fI"%%~nI
gotoend
:checkBack
echo备份目录%BACKUP_DIRECTORY%已经存在,请清空。
gotoend
:end
另一个文件:simpleBackup.bat
@echo正在备份版本库%1......
@%SVN_HOME%\bin\svnadminhotcopy%1%BACKUP_DIRECTORY%\%2
@echo版本库%1成功备份到了%2!以上是完全备份的脚本,只要把simpleBackup.bat拷到库目录底下即可使用。
2、增量备份脚本:
我们再来看一下SVN备份中的增量备份。文件名命名为:post-commit.bat,放到hooks下即可,
echooff
setSVN_HOME="C:\ProgramFiles\VisualSVNServer"
setSVN_ROOT=d:\svn
setDELTA_BACKUP_SVN_ROOT=d:\delta//备份存放目录,一定要存在
setLOG_FILE=%1\backup.log
echobackuprevision%2>>%LOG_FILE%
for/r%SVN_ROOT%%%Iin(.)do%SVN_ROOT%\库名\hooks\deltaBackup.bat 库名%2
gotoend
:end
deltaBackup.bat
@echo正在备份版本库%1......
%SVN_HOME%\bin\svnadmindump%SVN_ROOT%\%1--incremental--revision%2>>%DELTA_BACKUP_SVN_ROOT%\%1.dmp
@echo版本库%1成功备份到了%2!
将以上两个文件:post-commit.bat和deltaBackup.bat放到hooks下就可以直接使用。
注:红色字要根据实际情况来更改。本节关于SVN备份内容讲解完毕,请关注本节其他相关报道。
【编辑推荐】
- SVN中使用Git方法跟踪指导
- Windows下如何进行SVNServer安装和配置详解
- SVN子命令add用法浅析
- 利用SVN子命令查看所有及特定文件版本信息
- 技术指导:详解RedHat系统下SVN服务器搭建过程