zoukankan      html  css  js  c++  java
  • svn服务器 备份,迁移,部署方案

    这次做业务迁移,要从一个云厂商迁移到某云厂商,之前每天到全备svn排到用场了,需要搭建一个全新到svn服务并要做迁移,并实现我们开发机到时时代码同步

    一、svn备份有很多种,优劣都不同,百度可查,我采用到是dump每天凌晨会执行脚本备份数据

    svnadmin dump /path/svn >/path/backup_svn/bak.svn 

    二、(新)svn服务器搭建配置,配置文件列出

    yum install subversion -y  #yum安装
    mkdir -p /inn
    svnadmin create /inn/svn/ #创建版本库
    svnserve -d -r /inn/svn/ #指定目录启动svnserver服务
    
    
    //会生成相关配置文件
    ll /inn/svn/conf
    
    -rw-r--r-- 1 root root 1833 May  2 14:47 authz   #指定用户组,用户权限,目录信息等
    -rw-r--r-- 1 root root  570 May  2 14:54 passwd  #创建等用户以及密码
    -rw-r--r-- 1 root root 2421 Apr 26 11:04 svnserve.conf #全局配置文件,指定相关文件指定等目录
    
    [root@yunwei-169 conf]# cat authz 
    [groups]
    web = aaa,bbb
    testing = ceshi
    [/]
    @web = rw
    @testing = r
    [root@yunwei-169 conf]# 
    
    
    #web组有用户 aaa.bbb 
    #web用户对目录有读写权限
    #测试组对相关目录只读
    
    [root@yunwei-169 conf]# cat passwd
    [users]
    aaa = 123123
    bbb = 321321
    ceshi = 123333
    [root@yunwei-169 conf]# 
    
    [root@yunwei-169 conf]# cat svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    password-db = /inn/svn/conf/passwd
    authz-db = /inn/svn/conf/authz
    realm = beizhu
    [root@yunwei-169 conf]# 
    

    三、拷贝备份文件到本服务器  可以使用scp ftp等方式传输

    四、恢复拷贝到文件

     svnadmin load /inn/svn < bak.svn
    

     五、利用svn钩子(hooks)实现测试机代码到时时同步

    svn安装目录下修改配置文件即可实现,不需要安装插件等。

    [root@yunwei-169 svn]# cd hooks/
    [root@yunwei-169 hooks]# ll
    total 52
    -rw-r--r-- 1 root root 1188 May  8 18:22 1
    -rw-r--r-- 1 root root  353 May  9 11:52 post-commit.log
    -rw-r--r-- 1 root root  205 May  9 11:52 post-commit_project.log
    -rw-r--r-- 1 root root 1977 Apr 26 11:00 post-commit.tmpl
    -rw-r--r-- 1 root root 1638 Apr 26 11:00 post-lock.tmpl
    -rw-r--r-- 1 root root 2289 Apr 26 11:00 post-revprop-change.tmpl
    -rw-r--r-- 1 root root 1567 Apr 26 11:00 post-unlock.tmpl
    -rw-r--r-- 1 root root 3426 Apr 26 11:00 pre-commit.tmpl
    -rw-r--r-- 1 root root 2410 Apr 26 11:00 pre-lock.tmpl
    -rw-r--r-- 1 root root 2786 Apr 26 11:00 pre-revprop-change.tmpl
    -rw-r--r-- 1 root root 2100 Apr 26 11:00 pre-unlock.tmpl
    -rw-r--r-- 1 root root 2780 Apr 26 11:00 start-commit.tmpl
    [root@yunwei-169 hooks]# cp post-commit.tmpl  post-commit
    [root@yunwei-169 hooks]#  chmod 777 post-commit
    [root@yunwei-169 hooks]# cat post-commit  #将内容清空
    #!/bin/sh
    echo "hello" >> /inn/svn/hooks/post-commit.log
    REPOS="$1"
    REV="$2"
    
    
    export LANG=zh_CN.UTF-8
    
    /usr/bin/svn update /inn/www/hotel >> /inn/svn/hooks/post-commit.log
    
    
    /usr/bin/svn update /inn/www/project >> /inn/svn/hooks/post-commit_project.log
    
    echo `date`,`whoami`,$REPOS,$REV
    [root@yunwei-169 hooks]# 
    

      

    如何解决svn Authorization failed错误

    权限问题或者目录问题,排查上面到三个配置文件。。。

      

      

      

  • 相关阅读:
    设计模式_抽象工厂模式
    KMeans聚类算法Hadoop实现
    JDK核心JAVA源代码解析(1)
    pushlet单播与多播
    SQL 2008 R2数据库变为REPLICATION,日志不断增长并且不能截断和收缩的解决方式
    chrome插件的popup与跨域请求
    Ubuntu vim+ ctags(包括系统函数) + taglist 配置
    spring Valid @Pattern 常见的验证表达式
    spring boot 全局异常处理
    spring 事件使用
  • 原文地址:https://www.cnblogs.com/liuquan/p/8981167.html
Copyright © 2011-2022 走看看