这次做业务迁移,要从一个云厂商迁移到某云厂商,之前每天到全备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错误

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

  

  

  

svn服务器 备份,迁移,部署方案的更多相关文章

  1. Svn服务器备份迁移小结

    注:svn备份千万不要采用打包压缩,然后解压文件的方式. 备份和还原之前先要关掉svn服务器. svn备份一般采用三种方式: 1)svnadmin dump 2)svnadmin hotcopy 3) ...

  2. CENTOS 搭建SVN服务器(附自动部署到远程WEB)

    安装subversion服务端 # 安装 yum install -y subversion # 测试是否安装成功 如果显示了版本信息则表示安装成功 svnserve --version;sleep ...

  3. Windows Server - SVN 服务器搭建与项目配置、客户端安装与配置

    本教程以Windows Server 2012 R12 为例搭建SVN服务器,安装部署完成后,客户端可通过SVN客户端访问SVN服务器上的项目,也可以访问网上其他SVN服务器上的项目. 一.首先准备三 ...

  4. centos7 搭建svn服务器&客户端的访问&备份迁移

    当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...

  5. Linux之svn数据备份、还原及迁移

    前言 因管理需求现要将svn数据进行备份,作为运维小哥的我在收到指令后进行了相关操作.当然,领导告知的是要备份,但作为一个有思想的运维,我考虑到的是自己要干的不仅仅是备份操作,还要确保在备份后数据还原 ...

  6. svn服务器迁移(windows下)

    废话不多说,直接上步骤: 服务端: 1.创建一个备份文件夹 如:D:\svn_bak 2.进入cmd,cd命令到你的svn服务器安装目录的bin文件下,本人的安装目录在 D:\Program File ...

  7. svn服务器搭建与迁移

    2016-11-21更新: 今天被svn的钩子搞了半天,网上找解决方法都无效,下午被我试出来了,特此记录. 在svn的钩子中可以使用update来更新配置文件,比如ansible的,puppet的,具 ...

  8. Linux下svn服务器的安装与配置-备份-恢复-计划任务

    简介:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subvers ...

  9. SVN仓库备份和迁移

    SVN仓库备份和迁移 author: yunqimg(ccxtcxx0) 前言 本文主要是讲 SVN 仓库的全量备份和增量备份,只包括基本操作. 如有疑问请参考 References. 仓库备份 sv ...

随机推荐

  1. Wireshark抓取Mqtt报文

    安装版本较高的Wireshark,我的版本是2.4.6,然后在编辑--> 首选项--> 协议中找到MQTT,然后将端口改为你MQTT服务器的端口,然后就可以在抓包中抓到MQTT了

  2. MySQL Group Replication 搭建[Multi-Primary Mode]

    1. 环境准备 CentOS7.3 percona-server-5.7.18-14 两台服务器ip地址和主机名 10.0.68.206 yhjr-osd-mysql01-uat 10.0.68.20 ...

  3. Spring的入门学习笔记 (注解)

    Spring的bean管理(注解) 注解 1.代码里面特殊标记(ep:@Test),使用注解完成一些相关功能 2.注解写法 @注解名称(属性名称=属性值) 3.可以用在类,方法,属性上都可以 4.Sp ...

  4. shutil.rmtree()

    shutil.rmtree(path, ignore_errors=False, onerror=None)   #递归地删除文件 def rmtree(path, ignore_errors=Fal ...

  5. 红帽RHEL6.8离线环境下升级到RHEL7.3

    Red Hat Enterprise Linux 7 (RHEL 7) 是第一个支持从前一个 RHEL 主发行版本(RHEL 6)进行原位(in-place)升级的 RHEL 主版本.原位升级(in- ...

  6. 写shell脚本需要注意哪些地方----零基础必看

    shell脚本是完全靠自学的,每一步需要注意的问题都是我自己亲自实践出来的,对于大神可能看来是小儿科,但是对于新手,是必须注意的 一.首先执行 echo $SHELL查看本机的解释器, 二.开始写脚本 ...

  7. jquery优化

    选择器优化执行的速度 选择器 优先:id>元素>类 使用对象缓存:即使用变量来保存对象名,var $myDiv = $("#myDiv"):$myDiv.show(); ...

  8. 关于windows下安装mysql数据库出现中文乱码的问题

    首先需要在自己安装的mysql路径下新建一个my.ini文件,如下: 然后在my.ini文件中输入一下内容,主要控制编码问题的为红框部分,如下: 为了方便大家使用,可以复制以下代码: [WinMySQ ...

  9. 【Java】集合遍历--List和Map的多种遍历方式

    1. List的两种遍历方式 package com.nova.test; import java.util.ArrayList; import java.util.Iterator; import ...

  10. 【Keil】Keil5添加源程序和头文件

    xxx.c就是源程序 xxx.h就是头文件 [源程序添加方法] 双击文件夹,例如图片上的Source,跳出弹窗,选择需要添加的源程序即可 [添加头文件的方法] 1.首先点击图片红框处,或是在文件夹te ...