专栏首页灵儿的笔记从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决

从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决

前言

有时候难免会考虑的很全面,比如一开始是在这一台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 http://subversion.tigris.org/downloads/subversion-1.6.11.tar.bz2

wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.bz2

2) 解压

tar jxvf subversion-1.6.11.tar.bz2

tar jxvf subversion-deps-1.6.11.tar.bz2

第一个坑,提示 wget command not found

那是因为没有安装wget,大家只要安装一下就就可以啦

输入命令:yum -y install wget 如下图所示,wget及其依赖将会被安装

第二个坑,提示资源 not found

小编用wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.bz2 这个试过了,可能是http://subversion.tigris.org/上的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目录)

这里的 scp -r 或者 -v 是scp命令的参数,具体可以戳这里:linux scp 命令语法介绍

我在这里放一张截图,方便大家看

第三个坑,由于传输的文件太大了,传输到一半,居然断开连接了

我的心咯噔了一下,等了这么久,居然给我这么个消息

所以大家最好就不要用scp传输文件了,不仅速度慢,而且会timeout

我们时间是宝贵的,所以我这里就采用ftp传输了,这样会相对而言快一点,也是最好的方法

然后就等待吧,从旧服务器上下载下来之后,再上传到新的服务器,和你创建的那个svn仓库 同级目录下,

如图所示

3、将 dump 文件 load 进 新服务的仓库中

cd 切换到 你上传到新服务器的2414.dump文件和仓库的那个文件夹(最好上传到和仓库在同一个目录下,这样路径方便,不用写很长的路径了,)

svnadmin load lxhwsvn < 2414.dump

将 2414.dump < ( 写入 ) 到 新服务器上的lxhwsvn的这个仓库中

如果见到如下图这样的形式,就是在load中了,就等待吧

4、启动新机器的SVN服务

svnserve -d -r lxhwsvn

或者

svnserve -d -r /opt/svn

这两者上面一个是指定启动某个仓库,

下面这个是启动多个仓库,具体区别可以戳链接:SVN启动教程

5、查看 SVN服务是否 启动

ps -ef | grep svn

这样就完成啦,大家可以连接svn试试,看看能不能进你刚建的svn仓库

如果还是不能进,可能是因为svn监听的端口没有开启,

svn的默认端口是3690,

你可以通过下面这个命令,看一下是否开启啦,如果没有开启,联系管理员进服务器后台开启3690端口,开启了3690端口后,记得再次重启一下SVN,步骤是先kill 掉SVN,然后再启动,这样就可以连接SVN啦

查看某一端口的连接数量,比如3690端口

netstat -pnt |grep :3690 |wc

第三步:更换自己IDE工具上的SVN路径

将自己的IDE工具上的SVN路径改成新的SVN服务器上的路径,这样才能继续以前的版本控制,继续进行代码迭代开发,因为这个教程我之前已经写过了 ,包括Myeclipse和Idea 工具的SVN更换路径教程,具体教程请戳链接:https://blog.csdn.net/qq_27471405/article/details/79028383


其他可能会用到的命令

查看svn安装在哪个目录:

rpm -ql subversion-1.7.14-14.el7.x86_64

大家觉得这篇文章能够帮助你解决问题的话,还希望点个赞

因为顺手的一个赞是对作者最大的鼓励


参考文章:

https://blog.csdn.net/liangcl_2018/article/details/79745688

感谢原作者的分享,让技术人能够更快的解决问题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 无缝循环滚动图片的JS代码

    无缝循环滚动图片的JS代码,用来展示商品什么的最好了,图片URL可以自行替换,速度也可以自己调试。

    小小鱼儿小小林
  • JavaScript的数据类型

    该类型只有一个值undefined。对未声明和未初始化的变量执行typeof操作符都返回undefined

    小小鱼儿小小林
  • Myeclipse和idea 更换SVN地址教程

    前言:有时候我们会碰到,当服务器的svn地址因为特殊原因突然更换后,由于之前的项目都是在原来的svn地址上进行更新和提交代码的,这时候地址换了,导致自己的项目或...

    小小鱼儿小小林
  • 服务器被攻击怎么处理

    很多客户网站服务器被入侵,被攻击,找到我们SINE安全公司寻求技术支持与帮助,有些网站被篡改,被跳转,首页内容被替换,服务器植入木马后门,服务器卡顿,服务器异常...

    网站安全专家
  • Linux服务器被植入木马挖矿该怎么处理解决

    很多客户网站服务器被入侵,被攻击,找到我们SINE安全公司寻求技术支持与帮助,有些网站被篡改,被跳转,首页内容被替换,服务器植入木马后门,服务器卡顿,服务器异常...

    技术分享达人
  • 速读原著-TCP/IP(TCP 服务器的设计)

    我们在1 . 8节说过大多数的T C P服务器进程是并发的。当一个新的连接请求到达服务器时,服务器接受这个请求,并调用一个新进程来处理这个新的客户请求。不同的操...

    cwl_java
  • 视频文件采用P2P边下边播6大优势

    2) 可以多源下载:有人疑问了?如果只有一个人下载,此时BT下载是不是就没什么优势了。NO!就算只有一个人下载,这个用户如果用普通http,一般是从单个服务器下...

    点量小崔
  • 速读原著-TCP/IP(客户-服务器模型)

    大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。

    cwl_java
  • Linux 基础运维学习思维导图(上)

    刘銮奕
  • 什么是云计算?什么是云服务器?有什么用?

    很多人都听过云计算和云服务器这几个概念,那么到底什么是云计算、什么是云服务器呢?云服务器又有什么用呢?提供腾讯云特惠1折秒杀活动的“尊托云数-zuntop.co...

    用户5175848

扫码关注云+社区

领取腾讯云代金券