SVN仓库安装、备份和迁移基本操作

SVN工作原理及配置

SVN的基本工作原理:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,最后用SVN命令进行提交,由源代码库统一管理修改。
Subversion目录说明:
*dav目录:提供Apache与mod_dav_svn使用的目录,让它们存储内部数据
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:是一个文本文件,里面只存放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

Centos 6.7 安装SVN服务:

安装SVN:

# yum -y install subversion mod_dav_svn

在这里插入图片描述
#若安装有问题,尝试将mod_auth_mysql安上(yum install mod_auth_mysql)

[root@localhost ~]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so

在这里插入图片描述
在这里插入图片描述
配置仓库:
在这里插入图片描述
编辑authz文件:
在这里插入图片描述

#单独定义
user01=rw
#分组定义
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
group1=user02,user03,user04
group2=user05,user06
group3=user07,user08
[/]
@group3=wr
user06=wr
&user09=r
#设置组1只能访问仓库home文件夹,且其他人没有权限
[/home]
@group1=wr
*=

在这里插入图片描述
编辑passwd文件:
在这里插入图片描述
编辑svnserve.conf文件:
访问SVN的控制文件,此配置文件只对于通过svn://访问的方式有效,http:// | file://等方式访问无效。

anon-access = none
auth-access = write
authz-db = authz
password-db = passwd

在这里插入图片描述
配置防火墙:
添加3690端口号
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
https://mp.weixin.qq.com/s/96ONvb_gUt2fRlkfiyiX9w

常见报错

Export from svn://192.168.1.163
Unable to connect to a repository at URL ‘svn://192.168.1.163’
Can’t connect to host ‘192.168.1.163’: 由于目标计算机积极拒绝,无法连接。
在这里插入图片描述

https://blog.csdn.net/xingchenhy/article/details/95044961?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

扩展

CentOS7_开放指定端口
1.查看已经开放的端口

firewall-cmd --list-ports

2.开启指定端口

firewall-cmd --zone=public --add-port=2181/tcp --permanent 

3.重启防火墙

firewall-cmd --reload

4.核实下

firewall-cmd --list-ports

在这里插入图片描述

仓库备份

svnadmin dump

1、备份方式多样
2、如果版本数过多,dump的过程将非常慢
3、备份耗时,恢复更耗时
4、备份时数据变大,恢复后数据可能会变小
5、仓库下的passwd和authz不会备份

全备份

在需要备份SVN仓库的服务器上执行如下命令

sudo svnadmin dump /path/repository > /path/repository-backup.2019-12-27

做版本0-2的备份

sudo svnadmin dump /path/repository -r 0:2 --incremental > /path/repository-backup_0-2.2019-12-27

incremental 参数说明

它使用增量方式来导出版本,即每次都只导出自上一个版本以来的修改。这样的好处是:

第一:可以把一个大的文 件切分成若干个小的文件。

第二:在版本库已经存在的情况下,我们只需要每次导出修改的部分,不需要每次都导出整个版本库的内容。

甚至可以通过hook脚本 每天晚上自动将当天的修改dump出来做备份用。

仓库迁移

使用SCP等工具,将备份的文件传输到目标服务器上,例如 /home目录下.

# 建立新的svn仓库
sudo svnadmin create /path/new_repository

# 导入数据
sudo svnadmin load /path/new_repository < /home/repository-backup.2019-12-27

参考链接 :
SVN仓库备份和迁移基本操作 https://www.jianshu.com/p/215ae67e95e9

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值