linux系统下SVN迁移至一台新服务器

写在前面

本人兼职CM工作,前一阵研发中心需要更换新的服务器,需要将原服务器(linux系统)上SVN迁移至另外一台新的服务器(linux系统),已迁移完成一段时间,想简单整理一下迁移的过程,大致分为如下几步:
1)新的服务器搭建SVN环境;
2)旧的服务器SVN备份,我这里采用的是svnadmin hotcopy整库拷贝方式;
3)将备份的SVN库迁移到新服务器上;
4)为新服务器svn库指定端口,启动服务。

1、新服务器搭建SVN环境

很多linux系统安装成功后,会已安装SVN环境
所以首先执行svnserve --version 查看是否安装环境,若已安装则会显示svn对应的版本,我这里显示的是1.10.2,此为系统自带的。
若未安装,则可以执行subversion yum install subversion 进行安装,或者下载安装包手动安装也可以。
在这里插入图片描述

2、旧服务器SVN备份

我这里用的是svnadmin hotcopy整库拷贝的方式,这种备份方式快,而且迁移到新服务上后只需要配置一下即可,但这种方式比较占用硬盘空间,而我们旧服务器空间剩余不多,所以我备份、迁移、还原(即这里提到的2、3、4步)同步进行。
执行命令:svnadmin hotcopy /需要备份的svn库 /备份至目录,如:
svnadmin hotcopy /home/svn/projectlibrary2019 /backup/projectlibrary2019
我这里将 /home/svn/projectlibrary2019备份到/backup/projectlibrary2019目录下

3、将备份的SVN库迁移到新服务器上

因为两台服务器在同一个局域网中,所以我使用的scp命令进行的迁移,这里可以把上面的备份文件执行tar命令压缩再传输也可以直接传输。
执行命令:scp -r /待迁移的目录 迁移至新服务器的用户名@新服务器地址:/路径,回车后需要输入新服务器用户名对应的密码
如:
scp -r /backup/projectlibrary2019 root@192.168.1.111:/home/svn
这里新服务器路径下不需要再输入projectlibrary2019这个项目名,因迁移的文件已有这个目录了
说明:若新服务器中无需要的路径,则需要执行mkdir先创建好对应的文件夹

4、为新服务器svn库指定端口,启动服务

执行命令:svnserve -d -r /svn库路径 --listen-port 端口号
如:svnserve -d -r /home/svn/projectlibrary2019 --listen-port 3380

操作完成之后,执行命令netstat -anp |grep svn可以查看当前已启动的svn端口。
执行命令ps -aux | grep svnserve可查看详细的SVN端口以及路径信息,若要停止某个SVN端口服务,则执行命令kill -9 ID号即可。

写在后面

以上,2、3、4步反复执行,直到所有的SVN库迁移完成。因怕遗漏,我提前整理了一个表格,完成了便标注一下,所以没有造成遗漏和错误。不足之处便是如果SVN库较多的话,迁移会略微繁琐,但认真一点也没什么问题。


版权声明:本文为smiling880230原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。