我的QQ:18324258 朋友们,如果需要交流,请直接联系我的QQ,并说明相互学习,不要留给我QQ号,我不会动不动就上来看的。希望多交流,谢谢!

LINUX下自动增量备份

上一篇 / 下一篇  2010-09-01 20:14:11 / 个人分类:SCM

svnsync同步备份

一、备份准备

源服务器:172.16.91.4 linux

库路径:/project/svn

目标服务器:172.16.80.227 Windows

库路径:e:\svnbak

svn版本库1.6

项目备份模式,使用URL模式

在每次新增一个项目后,都需要进行同步备份设置。

二、方法:

1.在目标服务器上创建空项目,ecom项目为例.

CMD中,进行D:\Program Files (x86)\Subversion\bin目录,执行svnadmin createe:\svnbak\ecom[U1] 

e:\svnbak\passwd\authz目录中,设置备份的用户的可写权限。

2.e:\svnbak\ecom\hooks目录下,创建pre_revprop-change.bat文件,内容为空;

3.执行初始化

svnsync inithttp://172.16.80.227/svn/ecom  http://172.16.91.4/svn/ecom

svnsync init目标库源库

将向你询问登录的用户名和密码

正确后,显示

Copied properties for revision 0.

4.执行同步

svnsync sync http://172.16.80.227/svn/ecom

svnsync sync目标库

5.更新同步

在源库的hooks下面,添加post-commit脚本

内容:

 #!/bin/sh

REPOS="$1"

TXN="$2"

SVNSYNC=/opt/svn/bin/svnsync

$SVNSYNC sync--non-interactive[U2] --username ssy[U3] --password ****** http://172.16.80.227/svn/spi/

即提交更新后,即执行同步命令,不进行交互

post-commit修改为svnroot组所有,并属可执行权限。

三、说明:

如果post-commit脚本出错,或者无可执行权限,在提交更新时会报错。

可以在hooks目录,直接执行./post-commit命令来调试脚本。

1.6版本要求一定要定义清楚SVN_HOME,所以在post-commit脚本中不要直接写/opt/svn/bin/svnsync sync --non-interactive --username ssy --password ssyyinghttp://172.16.80.227/svn/spi/,否则即使直接执行./post-commit没有报错,在提交时钩子也无法执行。


 [U1]一定要全路径

 [U2]不需要交互

 [U3]适用于源和目标的用户密码都相同,如果不同,请查看svnsync命令的用法


TAG:

 

评分:0

我来说两句

Open Toolbar