Subversion 备份版本库

 Subversion 同步备份

备份的服务器已经可以正常使用了,拟对开发环境做备份。因为开发环境采用了 svn 做版本控制,所以可以直接采用 svnsync 来镜像开发环境。

(原文链接 http://ddbiz.com/?p=230)

如下

1) 在备份服务器上新建与开发环境一致的版本库:

svnadmin create /home/sources/svnrepos/repos1
svnadmin create /home/sources/svnrepos/repos2
...
svnadmin create /home/sources/svnrepos/reposn

2) 为新的版本库创建pre-revprop-change钩子脚本(hook script)
在/home/sources/svnrepos/reposx/hooks目录下新建一个空的pre-revprop-change文件
SVNREPOS=/home/sources/svnrepos
cp $SVNREPOS/REALNAME/hooks/pre-revprop-change.tmpl $SVNREPOS/cgps/hooks/pre-revprop-change

chmod u+x,g-rx,o-rx $SVNREPOS/reposx/hooks/pre-revprop-change


3) 初始化版本库:
此操作在开发环境机器上进行

svnsync init svn://backup-hostname/reposx svn://dev-hostname/reposx --username sources --password sources

其中
   --username sources
     --password sources
为在 backup-hostname 上配置的用户名和密码,如果是使用ssh的管道,可以直接:

svnsync init svn+ssh://backup-hostname/reposx svn://dev-hostname/reposx

4) 同步版本库 :在开发机器上(dev-hostname)

svnsync sync svn://backup-hostname/reposx --username sources --password sources

ssh 管道方式如下:

svnsync sync svn+ssh://backup-hostname/repsox


5) 自动版本库同步
在使用新的版本库之前,还需要根据需要对版本库的访问权限等进行配置。

使用钩子脚本Hooks实现自动同步: 在开发机器上
1) 建立post-committ文件,内容为:
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
SVNSYNC=/usr/bin/svnsync

$SVNSYNC sync --non-interactive svn://backup-hostname/reposx --username sources --password sources

#或:
$SVNSYNC sync --non-interactive svn+ssh://backup-hostname/reposx
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值