有时候难免会考虑的很全面,比如一开始是在这一台SVN上对代码进行版本控制,突然有一天,想换服务器了,这时候又不想重新上传,因为这样以前的版本控制记录都会不见,这是一个不好的办法
今天教大家将一台的svn迁移到另一台服务器上,并且保留原来的版本控制记录。
我将我在迁移的过程中,遇到的问题总结了一些,避免大家踩坑哈
本篇的埋坑是基于 https://blog.csdn.net/liangcl_2018/article/details/79745688 这篇文章写的,因为该大神已经写的
很详细了,就是有一些可能没有讲全,我就再将某些细节讲得细化一点,避免大家踩坑哈。
第一步:新服务器上svn的安装1 、从远程下载SVN安装文件
1 ) 下载 subversion-1.6.11.tar.bz2 subversion-deps-1.6.11.tar.bz2 这两个文件
wget
wget
2) 解压
tar jxvf subversion-1.6.11.tar.bz2
tar jxvf subversion-deps-1.6.11.tar.bz2
那是因为没有安装wget,大家只要安装一下就就可以啦
输入命令:yum -y install wget 如下图所示,wget及其依赖将会被安装
第二个坑,提示资源 not found小编用wget 这个试过了,可能是上的svn不提供下载了,所以会提示资源找不到,大家最好用yum安装svn的方式
输入命令:yum -y install subversion (忘记截图了,所以这里就暂时不放了,反正看到很长的一串就差不多了)
查看是否真正的安装正确,可以通过 svn --version 的命令来看,如图
2、安装好SVN后,就顺手在新服务器上建一个svn仓库
最好和原来的仓库名字一样,我不知道不一样的话,到时候会不会不匹配这样,这个希望大家有时间测试一下,因为我这是公司的机器,就暂时不测试啦
命令:svnadmin create /opt/svn/lxhwsvn
表示在 opt/svn 的文件夹下面,建一个叫做lxhwsvn 的仓库。
第二步:旧服务器上的svn迁移到新服务器上我用的是第一种方式,大家文件很大的时候,几百G的那种,最好用第二种方式,不然用第一种的话,速度会很慢的
采用dump的方式进行迁移
1、dump出旧服务器上的svn库
通过命令 svnadmin dump lxhwsvn/ > 1115.dump
lxhwsvn/ 表示旧服务器上SVN代码库目录 ,因为我的2414.dump已经创建了,这里我就以1115代替,反正名字大家可以自定义随便取,
大家在dump的时候,一定要cd 切换到 旧服务器上svn的目录,不然会报找不到 lxhwsvn这个库
如图所示:
2、使用 scp(secure copy)命令,将dump出来的文件从旧服务器传到 新服务器上。
然后我用scp从就旧服务器发送文件到新服务器的时候,
使用命令 scp -v 2414.dump root@xx.xxx.xx.xx:/opt/svn 的时候
(这段在旧服务器上执行,xx.xxx.xx.xxx表示新服务器上的ip地址,要将旧服务器上的2414.dump发送到新服务器上的 opt/svn 目录下)
输入密码后,死活的发送不过去,不知道是什么原因,可能是路径的问题
然后我就换了一种方式,从新服务器上去接收旧服务器上的文件,就可以了
命令:scp -v root@jj.jjj.jj.jjj:/opt/svn/2414.dump /opt/svn,然后输入旧服务器的密码,等待发送完就可以下一步啦
(这段在新服务器上执行,jj.jjj.jj.jjj表示旧服务器上的ip地址,将旧服务器上的2414.dump发送到新服务器的 opt/svn目录)