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>


             



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


  打开要备份的库,找到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导出方式,第二种是热备份方式,第三种是这种;这三种可以说各有优缺点,但是我最后还是选择了这种,因为这种方式支持从一个服务器备份到另一个服务器,但现在备份服务器还没申请下来,就先做出本地备份的批处理文件,到时候改改路径就可以接着用了。







                       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值