当前位置:   article > 正文

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

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
  • 1

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

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

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述
配置仓库:
在这里插入图片描述
编辑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
*=
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

anon-access = none
auth-access = write
authz-db = authz
password-db = passwd
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
配置防火墙:
添加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
  • 1

2.开启指定端口

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

3.重启防火墙

firewall-cmd --reload
  • 1

4.核实下

firewall-cmd --list-ports
  • 1

在这里插入图片描述

仓库备份

svnadmin dump

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

全备份

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

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

做版本0-2的备份

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

incremental 参数说明

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

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

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

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

仓库迁移

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

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

# 导入数据
sudo svnadmin load /path/new_repository < /home/repository-backup.2019-12-27
  • 1
  • 2
  • 3
  • 4
  • 5

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/138181
推荐阅读
相关标签
  

闽ICP备14008679号