Linux下svn服务器迁移
1.介绍迁移方式:
1.由于项目工作需要进行svn服务器的迁移,对此简要介绍svn服务器的迁移方案。
2.主要迁移方式:
- svnadmin dump
- svnadmin hotcopy
- svnsync
3.【svnadmin dump】是官方推荐的备份方式。
- 优点:比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
- 缺点:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复,建议在版本数比较小的情况下使用这种备份方式。
4.【svnadmin hotcopy】只能进行全量拷贝,不能进行增量备份;
- 优点:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
- 缺点:比较耗费硬盘,需要有较大的硬盘支持。
5.【svnsync】直接同步源机器代码库,实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。
- 优点:当制作成2个镜像库的时候起到双机实时备份的作用;
- 缺点:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
6.实际上在Linux下将svn从一台源服务器迁移到另一台目标服务器的操作过程分2步:
1)安装SVN服务端:根据源服务器的svn版本,在目标服务器安装同样版本或者相近版本的SVN;
2)同步SVN仓库:同步源服务器的SVN代码仓库到目标服务器上。
2.具体步骤:
由于本人目前处理的svn仓库容量也就几个G而已,所以本文就针对自己的需求以【svnadmin dump
】举例进行svn的迁移介绍。
2.1安装svn
1.下面就先具体地介绍安装配置svn服务端,待操作完这一步后续在待迁移目标服务器上安装配置svn服务端就比较方便顺手了。
1.yum方式安装或者源码编译安装svn服务端。这里以yum方式安装为例(假设当前在Linux下已经切换至root用户):
$yum install subversion #即可安装svn服务端
$svn help #查看svn帮助手册
$svn --version #查看svn当前版本
2.创建svn仓库目