这次做业务迁移,要从一个云厂商迁移到某云厂商,之前每天到全备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. jQuery入门简单实现反选与全选

    //html代码<input type="checkbox" id= 'all' value="全选"> 选择全部 一键上路 <input t ...

  2. #leetcode刷题之路12-整数转罗马数字

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值I 1V 5X 10L 50C 100D 500M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1.12 ...

  3. Django忘记超级用户密码||账号

    第一步:运行django shell python3 manage.py shell 第二步:重设密码 >>> from django.contrib.auth.models imp ...

  4. 05JavaScript语句

    1.JavaScript 语句 JavaScript 语句是发给浏览器的命令. 这些命令的作用是告诉浏览器要做的事情. 2.分号 ; 分号用于分隔 JavaScript 语句. 通常我们在每条可执行的 ...

  5. 配置一个nginx+php-fpm的web服务器

    一.基本信息 系统(L):CentOS 6.9 #下载地址:http://mirrors.sohu.com 反代&负载均衡(N):NGINX 1.14.0 #下载地址:http://nginx ...

  6. C++函数调用之——值传递、指针传递、引用传递

    1.简介 1.值传递:形参时实参的拷贝,改变函数形参并不影响函数外部的实参,这是最常用的一种传递方式,也是最简单的一种传递方式.只需要传递参数,返回值是return考虑的:使用值传递这种方式,调用函数 ...

  7. 反射之三种class对象的获取方法

    package www.bit.tech; public class Fanshe1 { } package www.bit.tech; import www.bit.tech.Fanshe1; cl ...

  8. BAPC 2014 Preliminary

    // 题目链接: https://nanti.jisuanke.com/t/282041 //动态规划,重复利用子问题的最优,来求解当前最优问题 #include <iostream> # ...

  9. NOI2002银河英雄传说-带权并查集

    [NOI2002]银河英雄传说-带权并查集 luogu P1196 题目描述 Description: 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年, ...

  10. windows下安装配置redis

    说明:本文拷贝自https://jingyan.baidu.com/article/0f5fb099045b056d8334ea97.html Redis是有名的NoSql数据库,一般Linux都会默 ...