SVN:设置库版本变更时自动备份版本库到指定服务器或指定目录-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

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

简介: 一,创建备份库               svnadmin create  F:\BackupTest   此命令指定将备份文件创建到哪个目录下面。 二,设置hooks                    1, 首先打开要备份库的hooks目录,如:F:\svnDump\svntest\hooks  ,打开其中的pre-revprop-change.



一,创建备份库


              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>


             



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


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





        在其中加入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>


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






           小结:

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







                       

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章
最新文章