svn安装、备份、迁移

一、svn有两种版本库授权方式:
1、创建多个版本库:一个版本库代表一个项目,只能单独访问。并且只能单独备份,每次登录只能查看单个项目
在这里插入图片描述

2、只创建一个版本库: 通过TortoiseSVN在版本库中创建子目录当作项目目录。只需要备份这一个版本库。每次登录可以浏览所有项目,然后对子目录单独授权。
在这里插入图片描述

二、svn的安装:

1、安装svn

# yum -y install subversion subversion-devel java
# svnserve --version|head -1
svnserve, version 1.6.11 (r934486

2、centos6启动svn

# mkdir /home/svndata              #创建存放版本库的父目录(版本库存放位置)
# svnserve -d -r /home/svndata  --config-file=/home/svndata/conf/svnserve.conf   #启动时需要指定版本库父目录,这个目录用于存放所有svn版本库(此目录是访问者看不到的,只有通过命令:svnadmin create创建出来的目录才能被访问者看到)


# 写一个svn启动脚本(也可以不写,yum安装的会自动生成启动脚本/etc/init.d/svnserve)
[root@localhost shell]# cat  svnrun11.sh 
#!/bin/bash

svn_command=$1 
case "$svn_command" in
    start)
        svnserve -d -r /home/svndata/  --config-file=/home/svndata/conf/svnserve.conf
        echo "svn start ok."
        ;;

    stop)
        kill -9 `ps -ef |grep "svnserve -d -r" |grep -v "grep" |awk -F " " '{print $2}'`
        echo "svn stopd."
        ;;

    restart)
        kill -9 `ps -ef |grep "svnserve -d -r" |grep -v "grep" |awk -F " " '{print $2}'`>/dev/null 2>&1
        echo "svn stoping..."
        sleep 1
        svnserve -d -r /home/svndata/  --config-file=/home/svndata/conf/svnserve.conf
        echo  "svn restart ok."
        ;;

    status)
        ps -ef |grep "svnserve -d -r" |grep -v "grep"
        [[ "$?" -ne 0 ]] && echo "svn not runing"      # 如果上面的命令执行失败说明svn没有运行
        ;;

    *)
        echo "start|stop|restart|status"
        ;;
esac

2.1、centos7 配置systemctl 启动svn 006-自定义systemctl启动svn

3、创建svn版本库项目 (需要在版本库父目录下创建)

# svnadmin create /home/svndata/project1      #创建版本库根目录
# svnadmin create /home/svndata/project2      #创建版本库根目录


# tree /home/svndata/project1/      #版本库目录结构(每个版本库都会自动建立配置文件和认证文件)
/home/svndata/project1/
├── conf                            #主要用到的配置文件目录
│   ├── authz                       #svn用户权限文件
│   ├── passwd                      #svn用户密码文件
│   └── svnserve.conf               #svn主配置文件
├── db
│   ├── current
│   ├── format
│   ├── fsfs.conf
│   ├── ........
│   ├.........
............
..........

10 directories, 28 files

4、单独创建配置文件来管理所有版本库,并启动svn

# mkdir /home/svndata/conf                               #在版本库父目录下创建svn配置文件存放目录
# cp /home/svndata/project1/conf/* /home/svndata/conf/   #拷贝一份配置文件


# vi /home/svndata/conf/svnserver.conf                   #编辑svn配置文件
[general]
anon-access = none                                       #禁止匿名用户访问
auth-access = write                                      #允许授权用户访问svn
password-db = /home/svndata/conf/passwd                  #指定用户密码文件存放路径
authz-db = /home/svndata/conf/authz                      #指定用户认证文件存放路径
realm = mysvn                                            #svn认证域,随便写



# vi /home/svndata/conf/passwd                           #编辑用户名密码文件
[users]
wenqiang = 123456
alex = 123456
wusir = 123456

# vi /home/svndata/conf/authz        #编辑用户认证文件
[groups]
yunwei = wenqiang,alex # 创建组

[/]                    # 允许yunwei组访问[/]根目录下的所有资源,访问时需要指定访问的具体名称比如,svn://ip/版本库1
@yunwei = rw

[project:/]            # 允许wenqiang访问project项目目录,冒号表示这是一个项目目录
wenqiang = rw

[project2:/]           # 允许alex访问project2项目目录,冒号表示这是一个项目目录
alex = r


[project:/dir1]        # 允许alex访问project项目目录下的dir1文件夹,dir1是通过svn客户端创建的文件夹
alex = rw

[project:/dir2]        # 允许wusir访问project项目目录下的dir2文件夹,dir2是通过svn客户端创建的文件夹
wusir = rw

5、启动svn并访问

# svnserve -d -r /home/svndata/ --config-file=/home/svndata/conf/svnserve.conf

--config-file     指定配置文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的爱迪生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值