linux搭建svn服务器及备份恢复

搭建svn服务

  1. 检查是否已安装
rpm -qa subversion
  1. 安装SVN服务器
yum install subversion

验证安装

rpm -qa |grep subversion
  1. 代码库创建
mkdir -p /var/svn/svnrepos

svnadmin create /var/svn/svnrepos/svn1

执行后,自动建立repositories库,查看/var/svn/svnrepos/svn1文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

  1. 配置版本库
  • svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/var/svn/svnrepos
  • passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test1=123456
test2=123456
  • authz
[group]
g_user=test1,test2

[svn1:/]
test1=rw  #给该用户访问所有库的权限

[svn1:/dir2]  #给该用户访问目录dir2的权限
test2=rw



[svn1:/]
@g_user=rw

PS:对权限配置文件的修改立即生效,不必重启svn。

  1. 启动SVN
#注意目录,不包含svn1
svnserve -d -r /var/svn/svnrepos
  • 查看SVN进程
ps -ef | grep svn
  1. 关闭svn
killall svnserve
  1. 测试SVN的服务器
    svn://192.168.33.101/svn1

备份与恢复

  1. Linux中SVN的备份与恢复
    linux中SVN备份有三种方式
  • svnadmin dump 是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供版本恢复机制。
    缺点是版本数过大,增长到数万以上,那么dump与load过程都将非常慢,耗时长不利于快速进行灾难恢复。在版本数较小的情况下可以使用这种备份方式。
  • svnadmin hotcopy 只能进行全量拷贝,不能进行增量备份。优点是备份较快,恢复也快。缺点是比较耗费硬盘。
  • svnsync实际是制作2个镜像库,当一个坏了的时候可以迅速切换到另一个。需1.4以上版本支持,这里不讨论。
  1. svnadmin dump方式
  • a、全量备份一个仓库
svnadmin dump /var/svn/svnrepos/svn1 > /svn/svndump/svn.0323.dump
  • b、增量备份
svnadmin dump /var/svn/svnrepos/svn1 -r 5200:5600 --incremental > /svn/svndump/svn_5600.0323.dump  
# 5200是上次全量备份时的最新版本,5600是当前最新版本。
  • 还原
    先在新服务器上建立一个空的仓库,然后将备份文件load进新服务器仓库。
svnadmin create /var/svn/svnrepos/svn2
svnadmin load /var/svn/svnrepos/svn2 < /svn/svndump/svn_5600.0323.dump

注意:这中备份方式没有备份配置文件,如果conf目录下的配置我呢见重要的话需要单独备份出来,还原后手动拷贝到新版本库覆盖。

  1. svnadmin hotcopy方式
  • 备份
svnadmin hotcopy /var/svn/svnrepos/svn1 /svn/svndump/svn.0323.back
如果你传递–clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。
可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。
  • 还原
svnadmin hotcopy /svn/svndump/svn.0323.back /var/svn/svnrepos/svn2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值