SVN服务器搭建、备份及多服务器同步方案(Windows)
备份仓库
SVN服务器搭建、备份及多服务器同步方案(Windows)
Views:2,113
虽然Git比SVN强大,已经统治了代码管理领域,但Git是具有一定门槛的,对非开发者来说并不那么友好。相对来说,SVN虽然功能没那么强悍,但是服务端搭建简单、客户端操作门槛低,文件管理对大多数普通用户来说已经够用,因此还是有一定的生存空间的。
SVN服务端“VisualSVNServer”下载地址:
一、安装服务端
首先安装VisualSVNServer,没什么好讲的因为都是无脑下一步,顶多改下仓库根目录和端口号。至于HTTP还是HTTPS,看个人喜好吧。
安装完之后从开始菜单找到VisualSVNServerManager,里面可以增删仓库、管理用户、用户组及访问权限。
这就算搭建好了,新建一个仓库和一个用户,再在仓库上分配Read/Write权限给该用户即可。
然后就可以通过地址:ip/svn/仓库名访问仓库了。
客户端小乌龟的使用不在本文描述范围,网上都说烂了。
二、备份方案
网上有很多种备份方案,各种脚本、步骤,搞得很复杂。我只推荐以下方案,快速、简单、暴力!
备份:
svnadminhotcopyE:\SVN\Repositories\xxxE:\backup\xxx
还原:
svnadminhotcopyE:\backup\xxxE:\SVN\Repositories\xxx
对多个仓库备份可分别执行。
三、多服务器同步方案
本文以一台主服务器一台备份服务器为例。
1、假设你已经在主服务器有了一个仓库A,并且已经运行了很久,想复制到备份服务器。最好两台服务器上都建一个备份用户,给予读写权限,用相同账号密码,方便。
2、使用hotcopy进行备份,并将其拷贝到备份服务器的任意临时文件夹(非必须,只是不拷贝的话第一次直接进行同步的话会非常慢)
3、在备份服务器创建A的同名仓库
4、如有Hotcopy备份,用它覆盖该仓库的所有文件;
5、改Hook->Pre-revp-change值为以下内容:
echo"Changingrevisionppotherthansvn:logisprohibited">&2exit0
6、打开命令行工具,初始化A仓库
//替换为你自己的仓库路径svnsyncinitfile:///E:\Repositories\A主服务器/svn/A--username账号--password密码//如果你是用hotcopy覆盖的,用下面的这个svnsync--allow-non-emptyinitfile:///E:\Repositories\A主服务器/svn/A--username账号--password密码
成功后执行以下代码进行同步,到此备份结束,以后要手动同步都只执行它:
svnsyncsyncfile:///E:\Repositories\A
注意这个命令是一次性的,每次想同步都要执行一次。如有多个仓库直接写个批处理.bat就好。
7、当然,如果备份服务器想实时同步,需要在主服务器上改Hookpost-commit:
svnsyncsync--non-interactive备份仓库地址/svn/备份仓库路径--username账号--password密码
收工。
Tags:备份仓库,SVN服务器搭建、备份及多服务器同步方案(Windows)
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。