详解生产环境SVN服务备份操作过程(附实例说明)
概述
平时在公司用SVN比较多,这里抽空总结下SVN服务备份操作步骤,简单整理如下:
SVN备份
1、准备源服务器和目标服务器
源服务器:xx.xx.xx.250 目标服务器:xx.xx.xx.251
2、对目标服务器(251)装SVN服务器
yum install subversion
3、创建一个新的仓库 (svnadmin create 路径),脚本如下:
svnadmin create ~/svn-storage-bak
4、进入svn-storage-bak这个仓库的根目录中,脚本如下:
cd ~/svn-storage-bak
5、复制hooks/pre-revprop-change.tmpl为hooks/pre-revprop-change:
cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change
6、授予执行权限:
chmod u+x hooks/pre-revprop-change
7、编辑pre-revprop-change脚本, 注意最后一行 exit 1 改成exit 0
vim hooks/pre-revprop-change
8、使用svnsync设置新的仓库同步指向目标仓库(svnsync init file:////当前目标svn仓库路径 ,源仓库的url),脚本如下:
svnsync init file:////root/svn-storage-bak svn://xx.xx.xx.xx/
9、然后输入当前服务器的用户名密码。 以及源svn服务器的用户名和密码
10、进行svn同步备份 ,脚本如下:
svnsync sync file:///home/usrname/svn-storage-bak
然后就开始备份了
11、将第10步的同步脚本,写在一个脚本文件里面,并把日志重定向输出,便于之后查看同步是否成功。 然后设置到crontab定时任务里面。 定点每天凌晨1点执行。
(我现在是直接把同步脚本写在了crontab里面,建议单独写个脚本文件去定时执行。 )
12、启动SVN服务,具体脚本如下:
svnserve -d -r /root/svn-storage-bak
13、测试,查看是否同步成功
用TortoiseSVN客户端或者浏览器访问 ,备份的svn服务器地址。看看资源是否备份成功。
例如:我用219做目标服务器的一个测试。
大家有空也可以自己测试一下,写的比较简单,大家可以自己修改下脚本内容,后面会分享更多Linux方面的内容,感兴趣的朋友可以关注一下~
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf