积微成著 不积跬步,无以至千里

首页   >   web开发   >   linux环境下svn迁移备份图文教程

linux环境下svn迁移备份图文教程

写过了svn的安装教程,下面来教一下大家svn的迁移和备份,网上教程超级多了,但是我发现大部分都是没有图片的,大家看不到想要的效果,正所谓无图无真相,我就加上效果图再来跟大家讲解一遍。

svn备份方式,在网上查资料看到的大体有四种:

1、svnadmin dump;

2、svnadmin hotcopy;

3、svnsync;

4、硬拷贝;

经过实测,推荐大家使用前两种方式尤其是第一种,它是官方推荐的方式,虽然速度有点儿慢,但是非常灵活;而第二种,它纯粹的就是速度快;第三种相当于做了一个镜像,一个出了问题,可以迅速切换另外一个,但是这个方法比较笨重,不太灵活;第四个就不多说了,直接copy文件。

我最近在做迁移的时候,同样的一个svn库,用dump方式时,备份文件的体积达到了550M,而使用hotcopy的时候,备份文件的体积只有300M多点儿,迁移无非就是一个导出导入的过程,谁的体积小水就速度快。

由于第三种方法,在网络上的口碑实在不怎么好,所以这一次我就不演示了,着重看一下第一种和第二种,这两种方式及其相似。

一、将原来的svn版本库导出为一个dump文件

[root@VM_41_196_centos local]# svnadmin dump /usr/local/svn > /usr/local/svn_back

dump命令,原地址和目标地址,中间是第一个大于号,代表将 /usr/local/svn 这个版本库备份到 /usr/local 下的 svn_back文件中,这个文件无需后缀

linux环境下svn迁移备份图文教程

上图中,最后一个,就是我们的备份文件。

二、将备份的dump文件导入到新的svn库中

[root@VM_41_196_centos local]# svnadmin load /usr/local/svn < /usr/local/svn_back

导入的命令是load,中间的符号是小于号,前面是目标地址,后面是备份文件地址

linux环境下svn迁移备份图文教程

上面这种图,是备份的过程中截的图,信息太多了,屏幕放不下,大家看看效果就好,我们可以看到他将一些操作信息都给还原了,还是很强悍的。

再来看一下第二种hotcopy的方式:

[root@VM_41_196_centos local]# svnadmin hotcopy /usr/local/svn /usr/local/svn_hot_back

还可以跟一个 -clean-logs 参数,执行拷贝时,它会将一些不用的日志文件删除了,目测体积会小更多,但是我这里日志是有用的,就不加了。

[root@VM_41_196_centos local]# svnadmin hotcopy /usr/local/svn /usr/local/svn_hot_back -clean-logs

命令中间是没有符号的,只有一个空格(注意与dump方式区分),前面是原地址,后面是目标地址

linux环境下svn迁移备份图文教程

大家可以看到,hotcopy的备份并不是一个文件,而是一个文件夹

linux环境下svn迁移备份图文教程

看到了没有,他相当于是将整个版本库的文件都备份了,上面的截图中可以看到,跟svn版本库中的目录都一模一样,但是体积却小了很多。

恢复的时候,整个命令还是很机智的,一模一样,只是将原地址和目标地址反过来

[root@VM_41_196_centos local]# svnadmin hotcopy /usr/local/svn_hot_back /usr/local/svn

日志就不再截图了,大家可以自己去尝试,总的来说呢,第一种和第二种,区别就在于:第一种是先是到哪里去,然后再是到哪里来;第二种就纯粹都是到哪里去!

我这个侧重于实践,可能一些理论知识遗漏了,大家如果觉着不太理解,可以移步 https://www.cnblogs.com/fjping0606/p/6519835.html,这位仁兄对这些理论知识描述的非常清晰了!

QQ群:积微成著官方群(686430774),验证消息:积微成著

站长Q:1347384268(加好友请注明来意)

分享到:

欢迎分享本文,转载请注明出处!

作者:不忘初心

发布时间:2017-11-14

永久地址:http://www.jiweichengzhu.com/article/6bb7566e5ee94b1fa454f050c0646f41