##环境信息 源svn库:http://10.205.59.16/svn/repository/
备份svn库:http://10.205.59.14:8000/svn/repository/
##备份策略 使用svnsync制作镜像库,实现双机实时备份。以下以java_code为例。同步时两边建立一个相同的用户和密码,方便同步,这里为apprun。
###1、在备份库上建立相同名字的版本库。
svnadmin create /opt/svn/java_code
###2、在备份库java_code目录下,创建pre-revprop-change钩子脚本,内容只有一行:exit 0
cp /opt/svn/java_code/hooks/pre-revprop-change.tmpl /opt/svn/java_code/hooks/pre-revprop-change
chmod 755 /opt/svn/java_code/hooks/pre-revprop-change #赋予执行权限
###3、执行初始化
在源svn库上执行:
svnsync init http://10.205.54.14:8000/svn/java_code http://10.205.54.16/svn/java_code
###4、执行同步
在源svn库上执行:
svnsync sync --non-interactive http://10.205.54.14:8000/svn/java_code --sync-username apprun --sync-password uWUh2f
###5、更新同步
在源svn库中,建立钩子脚本,实时更新至备份库。
cp /opt/svn/java_code/hooks/post-commit.tmpl /opt/svn/java_code/hookspost-commit
最后两行替换为
svnsync sync --non-interactive http://10.205.54.14:8000/svn/java_code --username apprun --password PASSWORD
chmod 755 /opt/svn/java_code/hooks/hookspost-commit #赋予执行权限