由于之前的代码是装在一台退役的电脑上,性能已经不够用了,之前已经搭建了开发服务器,因此想把所有的svn版本库迁移到新的开发服务器上面,以下就是自己的迁移过程,供大家参考:
旧服务器:202.0.0.4
新服务器:202.0.0.28
进入旧服务器的svn目录下,svn的根目录是svnroot,所有的项目代码都在该目录下,为了实现批量迁移,写了一个shell脚本如下:
#!/bin/shcd svnrootfor name in `ls`doecho $namesudo svnadmin dump /home/svnroot/$name > ../dumpdir/$name.dumpdone~
实现的功能是将目录下所有的工程打包至sumpdir目录下,名字为项目的名字加dump后缀。执行脚本即可。
2. 进入新服务器,首先将旧服务器打包好的dump文件拷贝过来,我直接用的scp命令:
sudo scp root@202.0.0.4:/home/dumpdir/* ./dumpdir/
3. 依然在新目录下,准备将所有dump文件导入至svn版本库中,依然是写了个shell脚本
#!/bin/shcd dumpdirfor name in `ls`dostr=${name%.*}mkdir -p ../svn/$strsudo svnadmin create ../svn/$strsudo svnadmin load ../svn/$str < /usr/dumpdir/$namedone
该脚本的功能是取出dumpdir中dump文件的名字(不带dump后缀)用作工程名字,创建该工程的版本库,然后将dump文件导入进去。执行脚本之后等待结束即可。
4. 验证一下是否已经迁移完毕,找个目录,执行以下svn co svn://202.0.0.28/project。成功
是不是很简单?不得不再感叹一下svn和shell的强大