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

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

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

1. 首先将主库hotcopy一份

1
svnadmin hotcopy reponame reponame-bak

2. 将热备的备份同步到备机

1
rsync -avz reponame-bak [email protected]:/svnroot-path

3. 在备机增加改备库的svn权限

4. 对备库设置同步属性

1
2
3
4
5
6
7
#设置主库的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后新提交的版本

1
svnsync sync http://bakserver/repo/reponame

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/large-version-svn-repo-fast-rebuild-backup/

你可能还对下面文章感兴趣: