svnsync异地备份subversion版本库

今天主要是subversion利用svnsync工具进行版本库的备份。先介绍下环境:
有2台debian Linux,都是在虚拟机上的,IP分别为172.16.1.153     172.16.1.177
实验的目的是版本库的远程备份,将版本库备份到另一台机器上。
153就是之前配的那台,177是今天现配的。
在配置177时,出来点小问题
就是在登录时出现了错误,出现一大堆英文,大致意识是内部出现错误无法响应请求
到/var/log/apache2/error.log下去查看,提示没有 /etc/apache2/dav_svn.passwd这个文件,
仔细一看,原来是我在敲文件名时敲成了dav_sav.passwd  赶紧用mv 命令把文件名改正确。在真机上测试下,OK!
接下来就是版本库进行同步了
利用svnsync来同步版本库,达到备份版本库的目的,要用到2个命令
1).svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2).svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
因为我在2台机器上都装了apache,所以全都使用http协议
过程:
1,在77上建目标库
svnadmin create /usr/share/back
2,在77上修改脚本pre-revprop-change
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
除了这几行,其余的全都用#符号注释掉,
3,接下来是让这个脚本有执行权限
chmod +x pre-revprop-change
4,初始化
还是在77上
svnsync init [url=file:///usr/share/back]file:///usr/share/back[/url]  http://172.16.1.153/svn
我这直接让我输入root的密码,输入正确后就初始化完成了
(svnsync init shttp://172.16.1.177/lei  http://172.16.1.153/svn----------这样的话会让你分别输入2台机器的root密码)
5,同步
机器77上
svnsync sync [url=file:///usr/share/back]file:///usr/share/back[/url]
­
到这就全都OK了,网上也有很多文章,或许是环境,系统的不一致吧,反正我按照他们的步骤来做没有成
功过,或多或少的出现错误,不过值得庆幸的是最终还是完成了。
 
后记:可以通过crontab来实现自动同步,本想通过post-commit钩子来实现的,但解决不了,只能退而求其次了。

你可能感兴趣的:(Debian,File,脚本,url,action,subversion)