SVN服务备份操作步骤

1、准备源服务器和目标服务器

源服务器:192.168.1.250

目标服务器:192.168.1.251 root/rootroot

2、对目标服务器(251)装SVN服务器, 脚本如下:

yum install subversion

3、创建一个新的仓库 (svnadmin create 路径),脚本如下:

svnadmin create ~/svn-storage-bak

  

4、进入svn-storage-bak这个仓库的根目录中,脚本如下:

cd ~/svn-storage-bak

  

5、复制hooks/pre-revprop-change.tmpl为hooks/pre-revprop-change,脚本如下:

cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change

  

6、给上面pre-revprop-change脚本加上执行权限,脚本如下:

chmod u+x hooks/pre-revprop-change

  

7、编辑pre-revprop-change脚本, 把最后一行 exit 1 改成exit 0 ,然后保存。操作如下:

vim hooks/pre-revprop-change

8、使用svnsync设置新的仓库同步指向目标仓库(svnsync init file:////当前目标svn仓库路径 ,源仓库的url),脚本如下:

svnsync init file:////root/svn-storage-bak svn://192.168.1.250/

  

9、然后输入当前服务器的用户名密码。 以及源svn服务器的用户名和密码

10、进行svn同步备份 ,脚本如下:

svnsync sync file:///home/usrname/svn-storage-bak

然后就开始备份了

11、将 第10步的同步脚本,写在一个脚本文件里面,并把日志重定向输出,便于之后查看同步是否成功。 然后设置到crontab 定时任务里面。 定点每天凌晨1点执行。

(我现在是直接把同步脚本写在了crontab里面,建议单独写个脚本文件去定时执行。 )

我的定时任务写法(参考):

12、启动SVN服务,具体脚本如下:

svnserve -d -r /root/svn-storage-bak

13、测试,查看是否同步成功

用TortoiseSVN客户端或者浏览器访问 ,备份的svn服务器地址。看看资源是否备份成功。

例如:我用219做目标服务器的一个测试。

SVN服务迁移备份操作步骤的更多相关文章

  1. svn仓库迁移

    注意事项 1.仅迁移代码.日志.版本信息,(用户.权限.配置即conf目录需要手动移动或重新配置) 2.新仓库需无代码,即新建仓库后不要进行上传操作,否则迁移可能造成冲突,导致迁移失败 操作步骤 1. ...

  2. linux svn迁移备份的三种方法

    原文:http://www.iitshare.com/linux-svn-migration.html svn备份方式对比分析 一般采用三种方式: 1.svnadmin dump 2.svnadmin ...

  3. svn服务端安装、迁移教程、Eclipse切换svn连接库

    svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...

  4. Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...

  5. 版本控制之五:SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤(转)

    使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时 ...

  6. SVN服务端和客户端的说明与操作

    版权声明:本文为博主原创文章,转载请注明原文出处. https://blog.csdn.net/zzfenglin/article/details/50936888 本节我们进一步了解SVN服务端和客 ...

  7. SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

    使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时 ...

  8. 手动删除Win7系统服务列表中残留服务的操作步骤

    卸载tomcat的时候服务用cmd运行不能删除 需要用管理员才能删除 手动删除Win7系统服务列表中残留服务的操作步骤分享给大家,在使用深度Win7系统过程中,将一些程序删除后,有些在服务列表中还会残 ...

  9. Linux下自动备份MySQL数据库详细操作步骤(转载)

    环境说明操作系统:CentOSIP:192.168.150.214Oracle数据库版本:Oracle11gR2用户:root 密码:123456端口:3306数据库:ts_0.ts_1.ts_2.t ...

随机推荐

  1. hdu4678 Mine 2013 Multi-University Training Contest 8 博弈题

    Mine Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submi ...

  2. NOIP2017SummerTraining0717

    个人感受:自己水平是真的差劲,和他们不是一个档次的,第二题,如果不是陈载元暴力过了,我也不会那么早去A了第二题,第一题真的是无语,以前做到过,还想到了每个对应值a[i]-i,但是没想出来,真的是 可惜 ...

  3. 混合高斯模型(Mixtures of Gaussians)和EM算法

    这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示 ...

  4. 使用jsonp完美解决跨域问题

    调用web接口,get请求,发现提示:No 'Access-Control-Allow-Origin' header is present on the requested resource. 这个和 ...

  5. IIS7中JS、CSS、Image无法显示和加载解决方案

    前两天把机器从Windows7升级到Windows10,IIS也跟着升级了,在获取项目搭载IIS上发现原有的页面中所有的JS.CSS.Image都无法访问,提示500错误,起初以为是IIS没有装好 重 ...

  6. Python GUI - Tkinter tkMessageBox

    Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息     tkMess ...

  7. gitlab仓库迁移

    遇到一个情况,需要将两个gitlab仓库合并.好在都是使用的ldap账户登陆,用户账户不需要迁移. 实际的使用情况下,需要迁移的主要部分为分组及分组下项目.gitlab的api还是很给力的,能够获取所 ...

  8. NSTimer的问题

    iOS开发中,涉及到定时的问题,我们通常使用NSTimer来解决,例如下面的代码. SFClass.h #import <Foundation/Foundation.h> @interfa ...

  9. Linux入门(6)——Ubuntu16.04安装atom

    打开终端,依次输入: sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get install ato ...

  10. C#实现软件开机自启动原理与代码

    1.软件自启动原理 软件自启动的原理要从Windows的注册表聊起,在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,这部分的详细介绍可以参看博客http://www.cn ...