SVN怎样去备份,用bat脚本去备份和相关的步骤?求教育
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN怎样去备份,用bat脚本去备份和相关的步骤?求教育相关的知识,希望对你有一定的参考价值。
SVN的备份至少有两种方式:1、利用svnsync,把要备份的版本库同步到另一台SVN服务器上
2、利用svn hotcopy,把要备份的版本库备份到同一台服务器的其他文件夹中
条件许可的话,建议使用第一种方式,毕竟安全系数更高些,不怕服务器硬件故障。
使用第一种方式的话,按如下步骤:
1、在备份用SVN服务器上,建立一个新的空版本库。
2、在备份用空版本库的hooks文件夹中新建一个文本文件,其中写入一行“exit 0”,重命名为pre-revprop-change.bat。
3、在备份服务器上命令行执行:
svnsync init 备份版本库访问url 源版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
4、在源服务器上相应版本库的hooks文件夹中增加一个post-commit.bat(如果是windows操作系统的话),里面写上两行内容:
svnsync sync 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
svnsync copy-revprops 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
如果以上操作都正常无误的话,这时就设置成功了,每次发生commit操作,都会自动将源版本库的内容同步到备份版本库中。 参考技术A 相关
SVN服务备份操作步骤
SVN服务备份操作步骤
1、准备源服务器和目标服务器
源服务器:192.168.1.250
目标服务器:192.168.1.251 root/rootroot
2、对目标服务器(251)装SVN服务器, 脚本如下:
yum install subversion
3、创建一个新的仓库 (svnadmin create 路径),脚本如下:
1 | svnadmin create ~/svn-storage-bak |
4、进入svn-storage-bak这个仓库的根目录中,脚本如下:
1 | cd ~/svn-storage-bak |
5、复制hooks/pre-revprop-change.tmpl为hooks/pre-revprop-change,脚本如下:
1 | cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change |
6、给上面pre-revprop-change脚本加上执行权限,脚本如下:
1 | 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),脚本如下:
1 | svnsync init file: ////root/svn-storage-bak svn://192.168.1.250/ |
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做目标服务器的一个测试。
以上是关于SVN怎样去备份,用bat脚本去备份和相关的步骤?求教育的主要内容,如果未能解决你的问题,请参考以下文章