从旧服务器迁移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


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

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

相关文章
|
16天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
2月前
|
安全 云计算
服务器系统资源不足怎么办
服务器系统资源不足怎么办
51 4
|
3月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
74 5
|
3月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
82 4
|
3月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
110 4
|
3月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
3月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
2月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
3月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
48 0
|
9月前
|
数据挖掘 Windows
【服务器数据恢复】服务器迁移数据时数据丢失的数据恢复案例
一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,服务器管理界面出现报错。经过检查发现服务器中一个lun的数据丢失。