@cdmonkey
2016-05-17T03:44:24.000000Z
字数 3014
阅读 2121
SVN
Download: http://www.collab.net/downloads/subversion
http://help.collab.net
部门维护文档存在版本更新速度快(甚至跟不上各系统的更新),没有集中存储问题。Subversion是简单、有效的一种版本控制软件,可以利用其版本控制功能来管理部门的维护文档。
确认安装场景:
[root@CSVN-A1 ~]# cat /etc/issueCentOS release 6.5 (Final)[root@CSVN-A1 ~]# python -VPython 2.6.6
[root@CSVN-A1 ~]# useradd -c "Subversion Edge" svn#为方便后面的操作进行授权:[root@CSVN-A1 ~]# visudosvn ALL=(ALL) NOPASSWD:ALL
[root@CSVN-A1 ~]# su - svn#INSTALL JDK:[svn@CSVN-A1 ~]$ tar zxvf jdk-7u21-linux-x64.tar.gz[svn@CSVN-A1 ~]$ mv jdk1.7.0_21/ JDK1.7[svn@CSVN-A1 ~]$ vim ~/.bash_profileJAVA_HOME="/home/svn/JDK1.7"CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"PATH="$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin"[svn@CSVN-A1 ~]$ source ~/.bash_profile[svn@CSVN-A1 ~]$ java -versionjava version "1.7.0_21"Java(TM) SE Runtime Environment (build 1.7.0_21-b11)Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
[svn@CSVN-A1 ~]$ tar zxvf CollabNetSubversionEdge-5.0.1_linux-x86_64.tar.gz[svn@CSVN-A1 ~]$ cd csvn/#在安装之前还要修改下配置文件(这里需要注意,一定要先拷贝生成配置文件,而不能先执行安装并让其自动生成配置文件,因为生成的配置文件的属主与属组都是根用户):[svn@CSVN-A1 csvn]$ cp data/conf/csvn.conf.dist data/conf/csvn.conf[svn@CSVN-A1 csvn]$ vim data/conf/csvn.conf#主要是修改下列两项:RUN_AS_USER=svnJAVA_HOME=/home/svn/JDK1.7--------------------#为了让服务开机自启动,我们需要执行下面的两个安装操作。#INSTALL CSVN:[svn@CSVN-A1 csvn]$ sudo -E bin/csvn installDetected RHEL or Fedora:Installing the CSVN Console daemon..#INSTALL CSVN-HTTP:[svn@CSVN-A1 csvn]$ sudo bin/csvn-httpd installDetected RHEL or Fedora:Installing the Subversion Edge Apache Server daemon..
#启动服务,必须以svn用户运行。[svn@CSVN-A1 csvn]$ bin/csvn startStarting CSVN Console......CSVN Console startedWaiting for application to initialize (this may take a minute)................................CSVN Console is ready at http://localhost:3343/csvn--------------------#启动如果失败,可以使用下面的命令进行查看。此命令会在控制台输出启动日志,便于确定是什么错误导致启动失败。[svn@CSVN-A1 csvn]$ bin/csvn consoleRunning CSVN Console...CSVN Console is already running.
查看一下端口:
[svn@CSVN-A1 csvn]$ lsof -i:3343COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 27277 svn 218u IPv6 42266 0t0 TCP *:ms-cluster-net (LISTEN)
[root@CSVN-A1 ~]# lsof -i:18080COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 5401 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)httpd 5405 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)httpd 5406 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)httpd 5407 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)httpd 5408 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)httpd 5409 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
以上操作做完后记得重启一下系统,这样就可以访问了(用户名和密码相同)。登录成功后就可以创建用户和版本库,并且也可以给创建的用户选择角色。

http://www.iitshare.com/linux-svn-migration.html
svnadmin hotcopy# For example:svnadmin hotcopy /path/to/repository /path/to/backup
利用该指令可以实现完全备份(该指令原设计目的估计不是用来备份的,只能进行全量拷贝),但不能进行增量备份。该指令是将整个库都“热”拷贝一份出来,包括库的钩子脚本、设置文件等。任何时刻运行该指令都将得到一个版本库的完整拷贝,不管是否有其他的进程当前正使用版本库。
SVN服务,那么都不需要进行恢复,只需要进行简单设置就能够切换到备份库。
svnadmin dump
该指令为官方推荐的备份方法,优点为比较灵活,能够全量备份也可以增量备份,并提供了版本恢复机制。它的缺点为如果版本比较大,如版本数增长到数万、数十万,那么备份的过程将非常慢。备份耗时,恢复更加的耗时,不利于快速的进行灾难恢复。推荐于版本数比较小的情况下使用这种备份方式。
使用该指令进行备份时,需关闭所有运行的进程,并确保没有应用在访问版本库(如httpd、svnserve或本地用户直接进行访问)。