SVN版本库的异地备份



现在开发通常都会用SVN来进行版本控制,并且SVN服务端也都会统一的建立到某个服务器上来保存项目源码,这没什么问题。但是如果有一天服务器发生了不可恢复的故障,这将造成不可弥补的巨大损失。所以我们要做好备份工作,当主版本库出现问题时,可切换到备用版本库,从而提高SVN的可用性。

 

今天介绍的就是SVN版本库的远程自动备份,将版本库备份到另一台机器上。当然实现的方式是多种多样的,我采用的是SVNsvnsync工具来同步版本库。

 

同步备份所需要的命令


1svnsync init 

初始化,建立目标库和源库之间的同步关系 

命令格式:svnsync init  目标库URL   源库URL 

2) svnsync sync 

真正完成同步过程

命令格式: svnsync sync  目标库URL 

 

具体实现过程

 

假设我们要同步的源版本库为https://192.168.24.187:443/svn/test 位于机器A,(test为建立的测试项目)

 

目标库在机器B:file:///F:/Repositories/test  为了简单和安全,我们使用file://协议。(同样在机器B上建立相同的test项目,如果已经有相同的项目要先清除)

 

然后进行以下操作:

1.修改目标库机器B中的脚本“pre-revprop-change.tmpl”

 

进入目录"F:\Repositories\test” ( F:\Repositories这个代码库的保存路径,视实际而定)

 

编辑“pre-revprop-change.tmpl”文件,将其最后一行修改为exit 0”;

 

2.创建脚本文件 

 

名称:pre-revprop-change.bat

 

内容:echo"Changing revision properties other than svn:log is prohibited">&2

            exit 0

 

3. 初始化操作,建立目标库和源库之间的同步关系

cmd窗口中使用cd命令,定位到svn安装目录的bin文件夹下,然后输入以下命令:

svnsyncinit file:///F:/Repositories/test   https://192.168.24.187:443/svn/test/

如图:

                    SVN版本库的异地备份_第1张图片

 

回车后,可能会出现以上错误,意思就是证书验证失败,这时候只要输入“P”,再按回车键即可。然后会提示输入svn的用户名和密码,如下图:

                           SVN版本库的异地备份_第2张图片

 

4. 开始备份

 

继续输入命令svnsync sync file:///F:/Repositories/test

 开始同步:

                           SVN版本库的异地备份_第3张图片

 

等待同步完成即可查看到刚同步过来的项目:

             SVN版本库的异地备份_第4张图片

 

实现自动备份:

    把命令“svnsync sync file:///F:/Repositories/test”放入一个bat脚本中,然后再通过任务计划程序创建一个任务去定时定时执行这个bat文件,即可实现版本库的定时自动备份。



你可能感兴趣的:(SVN,svnsync,版本控制,异地备份)