svn 备份

  为了预防A机器的硬盘损坏而导致数据丢失,可以机器A的svn库备份到机器B上,下面是详细操作步骤。

1、备份方案
  a、目标库:svn://192.168.7.223/svn/bak_exam;源库:svn://192.168.7.224/svn/exam_test(注意,如果设置了代理,svn:// 可以替换成https:// )
 
  b、采用svnsync 进行备份

2、创建目标库 (在目标机器上操作)要确保机器上安装了subversion,打开了相应端口(参考
[url] http://room-bb.iteye.com/blog/2190213[/url]
  a、创建:svnadmin create /data/svn/bak_exam
  b、配置用户帐号密码,(建议:目标库的账号密码最好和源库的账号密码一样)
  c、修改svn库钩子文件
cd /data/svn/bak_exam/hooks/
cp pre-revprop-change.tmpl pre-revprop-change
chmod 755 pre-revprop-change
vi pre-revprop-change
将pre-revprop-change文档后面三行注释掉,加上一行:exit 0 


3、初始化目标库:svnsync init 目标库 源库 (在目标机器上操作)
  注意:这里要确保源库svn服务已经启动 svnserve -d -r /data/svn/
  svnsync init file:///data/svn/bak_exam svn://192.168.7.224/exam_test
  (可以在后面接上 --username manager --password 123456)
  当出现Copied properties for revision 0.表明初始化成功


4、同步目标库 svnsync sync 目标库 (在目标机器上操作)
  svnsync sync file:///data/svn/bak_exam


5、建立钩子,自动同步 (在源机器上操作)貌似建了钩子后,提交有点慢
cd /data/svn/exam_test/hooks/
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit
将后面一行注释掉,然后加上:
/usr/bin/svnsync sync --non-interactive svn://192.168.7.223/bak_exam --username manager --password 123456

猜你喜欢

转载自room-bb.iteye.com/blog/2292855
今日推荐