svn 服务器镜像方式同步备份

svn 服务器镜像方式同步备份

同步方式备份,要用到两个命令
1、svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
目标:
本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上
假设我们要同步的源版本库为http://10.10.10.150/svn/svntest 位于机器A,具体路径我们不必理会,因为我们使用http协议
目标库在机器B,file:///data/svnroot/repository/svntest3,这个为了简单和安全,我们使用file://协议
过程:

1、创建目标库:
midir -p /data/svnroot/repository
svnadmin create /data/svnroot/repository/svntest3
2、在目标库的hook 目录:/data/svnroot/repository/svntest3/hook目录下执行:
cp pre-revprop-change.tmpl  pre-revprop-change
chmod a+x  pre-revprop-change
vi  pre-revprop-change
修改:exit 1 为 exit 0
3、初始化
注意,目标url 为三个"/"
[root@rhel500 repository]# svnsync init file:///data/svnroot/repository/svntest3 http://10.10.10.150/svn/svntest
认证领域: <http://10.10.10.150:80> Subversion repository
“root”的密码:
认证领域: <http://10.10.10.150:80> Subversion repository
用户名: mawp
“mawp”的密码:
复制版本 0 的属性
4、同步
[root@rhel500 repository]# svnsync sync file:///data/svnroot/repository/svntest3
认证领域: <http://10.10.10.150:80> Subversion repository
“root”的密码:
认证领域: <http://10.10.10.150:80> Subversion repository
用户名: litao3
“litao3”的密码:
-----------------------------------------------------------------------
注意!你的密码,对于认证域:

   <http://10.10.10.150:80> Subversion repository

只能明文保存在磁盘上!如果可能的话,请考虑配置你的系统,让Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
以免再次出现警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
传输文件数据.
已提交版本 1。
复制版本 1 的属性。
传输文件数据.
已提交版本 2。
复制版本 2 的属性。
传输文件数据.
已提交版本 3。
复制版本 3 的属性。

5、以后的同步。
[root@rhel500 repository]# svnsync sync file:///data/svnroot/repository/svntest3
传输文件数据.
已提交版本 4。
复制版本 4 的属性。

6、常见问题解决:
svnsync init file:///data/svnroot/repository/products http://10.10.10.150/svn/products
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
 从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
svnsync: Couldn't get lock on destination repos after 10 attempts

解决方法,执行以下命令:
svn propdel svn:sync-lock --revprop -r 0 http://10.10.10.130/svn/products
删除属性 “svn:sync-lock” 于版本库版本 0

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nuoyazhizhou/archive/2010/01/27/5259876.aspx

posted @ 2010-04-22 15:14  百年俊少  阅读(1264)  评论(0编辑  收藏  举报