SVN:设置库版本变更时自动备份版本库到指定服务器或指定目录



一,创建备份库


              svnadmin create  F:\BackupTest   此命令指定将备份文件创建到哪个目录下面。


二,设置hooks


                   1, 首先打开要备份库的hooks目录,如:F:\svnDump\svntest\hooks  ,打开其中的pre-revprop-change.tmpl文件,将最后的exit 1改为exit 0;

                   2,在此hooks目录下添加文件——pre-revprop-change.bat,并在里面输入:echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0  保存;

                    3,打开备份目录的hooks文件:F:\BackupTest\hooks ,并对其中的pre-revprop-change.tmpl 照上步骤1修改,对照上面步骤而添加同名同内容文件;



三,执行svnsync命令


        建立如下批处理命令,并执行:     



<span style="font-family:Microsoft YaHei;">	echo 正在准备备份SVN库文件。。。(目的路径,原路径)
	
	svnsync init file:///F:/BackupTest file:///F:/svnDump/svntest  --allow-non-empty  
	
	
	echo 开始同步。。。(目的路径)
	
	svnsync sync file:///F:/BackupTest
	
	
	pause
</span>


              SVN:设置库版本变更时自动备份版本库到指定服务器或指定目录



四,设置提交代码时自动备份


  打开要备份的库,找到hooks文件夹:


SVN:设置库版本变更时自动备份版本库到指定服务器或指定目录



        在其中加入post-commit.bat 文件,并在其中写入:

 

<span style="font-family:Microsoft YaHei;">echo off
set SVN_HOME="C:\Program Files (x86)\VisualSVN Server\bin"
%SVN_HOME%\svnsync sync    --non-interactive  file:///F:\BackupTest
<span style="font-size:18px;">
</span></span>


       这样,每次提交时,我们就可以看到备份库中,如下文件加会加入一个新版本备份:


SVN:设置库版本变更时自动备份版本库到指定服务器或指定目录




           小结:

                       今天做备份库时发现大致有三种方式,一种是dump导出方式,第二种是热备份方式,第三种是这种;这三种可以说各有优缺点,但是我最后还是选择了这种,因为这种方式支持从一个服务器备份到另一个服务器,但现在备份服务器还没申请下来,就先做出本地备份的批处理文件,到时候改改路径就可以接着用了。







                       

上一篇:黑客入侵龙卷风警报系统 城市关键基础设施安全问题再被提上议程


下一篇:Oracle数据库笔记整理