svn备份

snv备份有三种:svn dump 、 svn hotcopy 、svnsync

了解了三种备份机制后建议使用svnsync备份

配置步骤:

master:192.168.0.100

backup:192.168.0.200

1.安装svn

  yum 安装或者使用源码安装;

  这里使用yum ---> yum install subversion -y;使用rpm -ql subversion查看安装文件位置;

2.在master上建立仓库 ----> svnadmin create /data/svn/master

3.在backup上建立备份仓库 ---> svnadmin create /data/svn/backup

4.创建用户并授权(master)

  执行了svnadmin create /data/svn/master 命令后会在/data/svn/master目录下生成conf、hook、db等文件;conf文件是配置用户和权限这些的 

    authz ---->  访问权限

       [/] --->  即svn的主目录

       user = rw ---> 读写权限

    passwd ---> 用户名和密码

      在尾行创建一个用户和密码;

      user = password

    svnserve.conf ----> 服务配置,实验参数配置如下:

      anon-access = none

      auth-access = write

      password-db = passwd

      authz-db = authz

      realm = /data/svn/master

5.backup的master创建授权一样即可,但是要将realm = /data/svn/master 修改为 realm = /data/svn/backup; 

6.在bckup /data/svn/backup/hooks下

  cp  pre-revprop-change.tmpl  pre-revprop-change

  清空并添加如下内容:

    #!/bin/bash

    exit 0

  chmod +x pre-revprop-change

7.backup执行初始化仓库;

  svnsync init svn://192.168.0.200 svn://192.168.0.100 --username user --password password

  执行后出现如下提示表示执行成功

  Copied properties for revision 0.

8.于master同步版本库;

  svnsync sync svn://192.168.0.200 --username user --password  password

9.提交更新实时同步;

  master主机的/data/svn/master/hooks目录

  cp  pre-revprop-change.tmpl  pre-revprop-change;

  cp post-commit.tmpl   post-commit;

  chmod +x post-commit pre-revprop-change

  清空 post-commit;并添加如下内容:

    #!/bin/bash

    svnsync sync --non-interactive svn://192.168.0.200  --username user --password  password

    #--non-interactive   提交更新时,执行同步,不进行交换;

 

至此svn的同步就做好了;在master上提交代码,backup上实时同步;其实原理很简单,当用户想master提交代码的时候 master上的svn利用钩子函数将用户提交的代码同步至backup上;

转载于:https://www.cnblogs.com/jishufenxiang/p/7357157.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值