zoukankan      html  css  js  c++  java
  • SVN服务器搭建、备份及多服务器同步方案(Windows)

    虽然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:SVNRepositoriesxxx E:ackupxxx
    

    还原(可直接用VisualSvn import):

    svnadmin hotcopy E:ackupxxx E:SVNRepositoriesxxx
    

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

     

    三、多服务器同步方案

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

    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
    

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

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

    3

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

    svnsync sync file:///E:RepositoriesA
    

    4

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

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

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

     收工。

     

    出处:http://blog.viiio.com/topic/347

    您的资助是我最大的动力!
    金额随意,欢迎来赏!
    款后有任何问题请给我留言。

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

    如果你觉得本篇文章对你有所帮助,请给予我更多的鼓励,求打             付款后有任何问题请给我留言!!!

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【Jack_孟】!

  • 相关阅读:
    解决ERROR C2011: 'FD_SET' : 'STRUCT' TYPE REDEFINITION问题
    github简单使用教程
    Win32 多线程的创建方法和基本使用
    day 05
    day04
    day03
    day02
    day 06
    day_05
    day 05
  • 原文地址:https://www.cnblogs.com/mq0036/p/14699503.html
Copyright © 2011-2022 走看看