赞
踩
SVN的基本工作原理:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,最后用SVN命令进行提交,由源代码库统一管理修改。
Subversion目录说明:
*dav目录:提供Apache与mod_dav_svn使用的目录,让它们存储内部数据
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:是一个文本文件,里面只存放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
安装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
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
它使用增量方式来导出版本,即每次都只导出自上一个版本以来的修改。这样的好处是:
第一:可以把一个大的文 件切分成若干个小的文件。
第二:在版本库已经存在的情况下,我们只需要每次导出修改的部分,不需要每次都导出整个版本库的内容。
甚至可以通过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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。