备份方法挺多的,目前我知道有四种

其一:

首先复制旧csvn服务器上repositories下的版本库文件夹到新csvn服务器repositories文件夹下面(做以下修改时最好把csvn服务停掉)

然后复制旧csvn的svn_auth_file到新csvn上(相当于复制用户密码)

接着就是复制旧服务器上的用户账号信息(例如邮箱,权限等)

csvn-production-hsqldb.script   在这个文件里搜索INSERT   INTO  USER 然后复制这几行,追加到新服务器上的对应文件中(这里我遇到一个问题,就是我在csvn的web管理界面可以看到我新建的用户,但是我在这个文件中却找不到对应的插入信息,最后发现是没有重启csvn的问题)

接着用旧csvn服务器上svn_access_file文件覆盖新csvn服务器上的对应文件,该文件为用户访问权限(为了安全起见,最好将被替换的文件先做好一个备份,防止出现异常情况无法恢复)

最后重启csvn,迁移就完成了。

其二:

svnadmin dump

原服务器

cd repositories

svnadmin dump svncopy/ > test.dump

复制版本库的服务器

1056 scp root@10.0.3.107:/application/csvn/data/repositories/test.dump ./     #scp传文件就是杠杠的
1057 ls
1058 svnadmin load test.dump  #命令有错
1059 svnadmin load /application/csvn/data/repositories/ test.dump  #命令有错
1060 svnadmin load /application/csvn/data/repositories/ < test.dump  #还是有错
1061 ls
1062 ls -l
1063 chown -R csvn:csvn test.dump            #尝试修改拥有者,无效
1064 svnadmin load /application/csvn/data/repositories/ < test.dump
1065 svnadmin create test        #新建一个版本库
1066 svnadmin load /application/csvn/data/repositories/test < test.dump   #执行成功
1067 ls
1068 ls -l
1069 chown -R csvn:csvn test      #配置权限

其三:

svnadmin hotcopy

服务器a:

[root@localhost repositories]# svnadmin hotcopy testb testb.hotcopy

服务器b:

1074 scp -r root@10.0.3.107:/application/csvn/data/repositories/testb.hotcopy ./
1075 ls
1076 ls -l
1077 chown -R csvn:csvn testb
1078 ls -l
1079 chown -R csvn:csvn testb.hotcopy/

其四:

svnsync

[root@node2 svnmirror]# cd /application/csvn/data/repositories/      #我选择直接在这里备份版本库
[root@node2 repositories]# svnadmin create bp              #创建同名的备份库
[root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp      #同步前先初始化,file后面就是我用来存放备份版本库的路径,后面是需要备份的版本库路径。然后,报错
svnsync: E165006: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
[root@node2 repositories]# cp bp/hooks/pre-revprop-change.tmpl bp/hooks/pre-revprop-change    #安全起见,pre-revprop-change是我们初始化过程中需要的文件
[root@node2 repositories]# vi bp/hooks/pre-revprop-change                    #不能将文件清空,只需要把最后一行的exit 1改为exit 0
[root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp    #再次尝试初始化
Copied properties for revision 0.
[root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/        #正式开始同步
Transmitting file data .
Committed revision 1.
Copied properties for revision 1.
[root@node2 repositories]# ls
bp
[root@node2 repositories]# ls -l
total 4
drwxr-xr-x 6 root root 4096 Nov 22 02:23 bp
[root@node2 repositories]# chown -R csvn:csvn bp/                       #这时候进入csvn的web管理界面,会提示权限不足或者无法显示出来,所以我们需要修改拥有者
[root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/        #这个相当commit吧
Transmitting file data .
Committed revision 2.
Copied properties for revision 2.
[root@node2 repositories]# ls

编辑被同步的csvn服务器上的post-commit(本来是没有这个文件的,需要把post-commit.tmpl 重命名为post-commit)

/application/csvn/bin/svnsync synchronize --non-interactive http://10.0.3.102:18080/svn/svncopy --username admin --password admin

那个网址为用来同步的另一台服务器svn路径(我是直接进入csvn里面查看检出命令,得到这个路径的)

然后重启csvn服务器就差不多了

CSVN备份初体验的更多相关文章

  1. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  2. 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验

    [阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...

  3. 【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验

    ----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafk ...

  4. JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中

    JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://j ...

  5. 全分布式的Hadoop初体验

    背景 之前的时间里对 Hadoop 的使用都是基于学长所搭建起的实验环境的,没有完整的自己部署和维护过,最近抽时间初体验了在集群环境下装机.配置.运行的全过程,梳理总结到本文中. 配置 内存:8G C ...

  6. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  7. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  8. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  9. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

随机推荐

  1. 删除Mac OS X中Finder文件打开方式列表的重复程序或失效的

    清理列表, 可以在终端中输入下面提供的一行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices ...

  2. DevExpress ASP.NET v18.2新功能详解(一)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...

  3. 通过powerdesiner导出sql,通过sql转mysql为oracle

    1.导出sql文件 Database-->generate database-->确定 执行完就可以看到生成的语句了 2.将mysql的PDM转换为oracle File-->rev ...

  4. EF6增改删等常用基类

    using System; using System.Linq; using System.Threading.Tasks; using System.Linq.Expressions; using ...

  5. <Spark Streaming><Flume><Integration>

    Overview Flume:一个分布式的,可靠的,可用的服务,用于有效地收集.聚合.移动大规模日志数据 我们搭建一个flume + Spark Streaming的平台来从Flume获取数据,并处理 ...

  6. crontab的定时任务实例

    实例1:每1分钟执行一次myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3 ...

  7. ClientAsTemplate用法

    kbmMW提供了TkbmMWClientQuery查询组件,作为kbmMW开发者都知道,这是一个内存数据集,基于服务端的查询服务(Query Service),可以直接执行sql得取想要的记录,因为是 ...

  8. IONIC和Cordova安装、打包踩过的坑

    1.问题1:直接执行npm install -g cordova ionic,因为网络原因,执行不成功 解决方案:将npm映射到淘宝服务器:npm install -g cnpm --registry ...

  9. mysql基础查询语法

    一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count( ...

  10. Day8作业及默写

    1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: 将原文件全部读出来并打印. with ...