CentOS 环境下 SVN 操作 安装 备份

1 SVN安装

1.1 yum安装

yum install -y subversion
svnserve --version

1.2 创建SVN 版本库

[root@localhost ~]# mkdir /root/ray/svn
[root@localhost ~]# svnadmin create /root/ray/svn/davesvn  --davesvn为版本库名称

1.3. SVN配置

svnserver.conf

[general]
anon-access = none
auth-access = write
password-db = /root/ray/svn/davesvn/conf/passwd
authz-db = /root/ray/svn/davesvn/conf/authz

passwd

[users]
leidy6= ****

authz

[groups] #设置组
admin= leidy6 #多用户用逗号隔开
[/] #根目录权限设置
leidy6= rw #用户1权限是:可读写
@admin = rw

1.4、启动服务

启动服务器

svnserver -d -r /root/ray/svn

  • -d表示以daemon方式(后台运行)运行
  • -r 指定根目录是/root/leidy6/svn

关闭SVN 服务器

killall svnserve

1.5、连接

svn://127.0.0.1/davesvn

2 备份/还原 dump

2.1 svnadmin dump方式

SVN迁移需要做如下操作:

1、将原来的Repository导出为一个文件dumpfile 。

#svnadmin dump 原先的repos的目录路径(/repository/directory) > dumpfile
eg:svnadmin dump /root/ray/svn/davesvn > /var/tmp/svndump1008

2、在另外一台机器上配置同样的SVN服务器。

参考:linux SVN安装及配置图解教程

3、将dumpfile导入到新的repository 目录中。

#svnadmin load 新建的repos的目录路径(/repository/directory) < dumpfile
eg:svnadmin load /root/ray/svn/davesvn < /var/tmp/svndump1008

4、将原先服务器的配置文件备份后复制到新服务器中,/root/ray/svn/davesvn/conf目录下

authz、passwd、svnserve.conf文件

2.2 svnadmin hotcopy方法

1、备份

svnadmin hotcopy /root/ray/svn/davesvn/ /var/tmp/svndump1008 –clean-logs

如果你传递–clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。

你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。

2、还原

svnadmin hotcopy /var/tmp/svndump1008 /root/ray/svn/davesvn/