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脚本去备份和相关的步骤?求教育的主要内容,如果未能解决你的问题,请参考以下文章

SVN主机备份到另一台电脑

用于自动备份乌龟 svn 的 javascript

SVN服务备份操作步骤

备机怎样定时备份主机的Oracle数据库

svn备份与还原_脚本_(dump命令)

mysql 自动定时备份