Menu

  • 博客
  • 关于唯我&博客
  • 唯我DIY
  • 讨论区

Copyright © VIIIO.COM | Theme by Theme in Progress | 基于 WordPress

千里之行,始于足下唯我 - 梦想从此起航

SVN服务器搭建、备份及多服务器同步方案(Windows)

2017年12月16日Git, SVN Standard
Views: 5,276

虽然Git比SVN强大,已经统治了代码管理领域,但Git是具有一定门槛的,对非开发者来说并不那么友好。相对来说,SVN虽然功能没那么强悍,但是服务端搭建简单、客户端操作门槛低,文件管理对大多数普通用户来说已经够用,因此还是有一定的生存空间的。

SVN服务端“VisualSVN Server”下载地址:https://www.visualsvn.com/server/download/

SVN客户端TortoiseSVN下载地址:https://tortoisesvn.net/downloads.html

一、安装服务端

首先安装VisualSVN Server,没什么好讲的因为都是无脑下一步,顶多改下仓库根目录和端口号。至于HTTP还是HTTPS,看个人喜好吧。

安装完之后从开始菜单找到VisualSVN Server Manager,里面可以增删仓库、管理用户、用户组及访问权限。

1

这就算搭建好了,新建一个仓库和一个用户,再在仓库上分配Read/Write权限给该用户即可。

然后就可以通过地址:http://ip/svn/仓库名  访问仓库了。

客户端小乌龟的使用不在本文描述范围,网上都说烂了。

 

二、备份方案

网上有很多种备份方案,各种脚本、步骤,搞得很复杂。我只推荐以下方案,快速、简单、暴力!

备份:

svnadmin hotcopy E:\SVN\Repositories\xxx E:\backup\xxx

还原(可直接用VisualSvn import):

svnadmin hotcopy E:\backup\xxx E:\SVN\Repositories\xxx

对多个仓库备份可分别执行。

三、多服务器同步方案

本文以一台主服务器一台备份服务器为例。

1、假设你已经在主服务器有了一个仓库A,并且已经运行了很久,想复制到备份服务器。最好两台服务器上都建一个备份用户,给予读写权限,用相同账号密码,方便。

2、使用hotcopy进行备份,并将其拷贝到备份服务器的任意临时文件夹(非必须,只是不拷贝的话第一次直接进行同步的话会非常慢)

3、在备份服务器创建A的同名仓库

4、如有Hotcopy备份,用它覆盖该仓库的所有文件;

5、改Hook -> Pre-revp-change值为以下内容:

echo "Changing revision pp other than svn:log is prohibited" >&2
exit 0

2

6、打开命令行工具,初始化A仓库

//替换为你自己的仓库路径
svnsync init file:///E:\Repositories\A http://主服务器/svn/A --username 账号 --password 密码
 
//如果你是用hotcopy覆盖的,用下面的这个
svnsync --allow-non-empty init file:///E:\Repositories\A http://主服务器/svn/A --username 账号 --password 密码

3

 

成功后执行以下代码进行同步,到此备份结束,以后要手动同步都只执行它:

svnsync sync file:///E:\Repositories\A

4

注意这个命令是一次性的,每次想同步都要执行一次。如有多个仓库直接写个批处理.bat就好。

 

7、当然,如果备份服务器想实时同步,需要在主服务器上改Hook post-commit:

svnsync sync --non-interactive http://备份仓库地址/svn/备份仓库路径 --username 账号 --password 密码

 

收工。

发表评论或回复 取消回复

邮箱地址不会被公开。

7 + 1 =

近期文章

  • OC UIWindow setRootViewController切换界面引发的内存问题
  • iOS证书、AppId、PP文件之间的关系
  • SVN服务器搭建、备份及多服务器同步方案(Windows)
  • [转]iOS多线程-各种线程锁的简单介绍
  • Mac 下Apache2 配置多虚拟主机

近期评论

  • NARYTHY288954NEYRTHYT发表在《ASP.NET整合Discuz PHP站 并实现用户同步》
  • nym402059flebno发表在《ASP.NET整合Discuz PHP站 并实现用户同步》
  • nem2182758krya发表在《ASP.NET整合Discuz PHP站 并实现用户同步》
  • aresgrb.se发表在《ASP.NET整合Discuz PHP站 并实现用户同步》
  • Vincenturbam发表在《ASP.NET整合Discuz PHP站 并实现用户同步》

分类目录

  • ASP.NET (15)
  • Git (2)
  • HTML (1)
  • iOS (31)
  • Javascript (7)
  • Oracle (8)
  • SQL (3)
  • SQLSERVER (2)
  • SVN (1)
  • 一行代码系列 (5)
  • 微信小程序 (1)
  • 正则表达式 (2)
  • 网站建设 (5)

文章归档

  • 2018年12月 (1)
  • 2018年4月 (1)
  • 2017年12月 (2)
  • 2017年7月 (3)
  • 2017年6月 (1)
  • 2017年4月 (1)
  • 2017年1月 (1)
  • 2016年12月 (3)
  • 2016年10月 (1)
  • 2016年7月 (1)
  • 2016年6月 (1)
  • 2016年5月 (3)
  • 2016年4月 (5)
  • 2016年3月 (4)
  • 2016年2月 (2)
  • 2016年1月 (3)
  • 2015年12月 (11)
  • 2015年11月 (7)
  • 2015年10月 (3)
  • 2015年9月 (1)
  • 2015年8月 (1)
  • 2015年7月 (1)
  • 2015年6月 (1)
  • 2015年5月 (1)
  • 2015年4月 (1)
  • 2014年7月 (1)
  • 2014年6月 (1)
  • 2014年5月 (2)
  • 2014年4月 (2)
  • 2014年3月 (2)
  • 2014年2月 (2)
2025年5月
一 二 三 四 五 六 日
« 12月    
 1234
567891011
12131415161718
19202122232425
262728293031