SVN增量备份方案

来源:互联网 发布:et纸样软件 编辑:程序博客网 时间:2024/04/29 21:20

SVN增量备份方案
1)SVN目录的数据文件名是从0开始一个一个递增的(db/revs下面),一个版本(一次提交)一个新文件,旧的不变,所以可以用自动增量备份工具(比如Always sync)备份。

2)使用svnsync工具,这是SVN自己提供的同步工具,需要对每个版本库做以下工作
   对备份服务器:
   a. 创建空的同名版本库,可以用svnadmin create ... (不能从主服务器直接把版本库目录拷过来)
   b. 在新建版本库hooks目录下建立pre-revprop-change.bat(windows下,linux下不用后缀文件名),内容为exit 0

   在主服务器,分别执行:
   a. 同步初始化:svnsync init http://192.168.0.2/svn/proj1 http://192.168.0.1/svn/proj1 (前者是备份服务器)
   b. 同步:svnsync sync http://192.168.0.2/svn/proj1
   c. 如果要设置成每次提交自动备份到备份服务器,可以在主服务器hooks目录下建立一个post-commit.bat文件,内容为svnsync sync http://192.168.0.2/svn/proj1

   注意,如果主服务器本地保存了默认登录的用户名/密码(这个要清除的话可以使用TortoiseSVN的配置里面有个清除保存数据的地方),svnsync工具会自动使用,否则会提示输入,你也可以在其参数里显示指定--username username --password password。特别要注意,使用的用户名/密码应该在主机上有全版本库读权限,在备份库有写权限,由于有些目录的权限排斥传递的原因,好像在复杂权限下,svnsync sync时经常有失败的问题。

原创粉丝点击