大版本SVN库备份快速重建方法

作者:简简单单 2013-12-16

svn仓库一般都是会配置svnsync的实时备份仓库,备库会从主库一个版本一个版本拷贝,但是如果主库已经有几十万版本后,想通过简单的svnsync init一个新的备份仓库,然后从0版本开始sync,所需的时间无法估计

为了快速重建备份,可以使用下面的方法来处理

1. 首先将主库hotcopy一份

svnadmin hotcopy reponame reponame-bak
2. 将热备的备份同步到备机

rsync -avz reponame-bak username@bakserver:/svnroot-path
3. 在备机增加改备库的svn权限

4. 对备库设置同步属性

#设置主库的uuid
svn ps svn:sync-from-uuid 主库的uuid --revprop -r 0 http://bakserver/repo/reponame
#设置主库的url
svn ps svn:sync-from-url http://masterserver/repo/reponame  --revprop -r 0 http://bakserver/repo/reponame
#设置热备的最新版
lastver=`svnlook youngest reponame-bak`
svn ps svn:sync-last-merged-rev  $lastver --revprop -r 0 http://bakserver/repo/reponame
5. 同步hotcopy后新提交的版本

svnsync sync http://bakserver/repo/reponame

相关文章

精彩推荐