linux svn迁移备份的三种方法

简介: <p>原文:<a target="_blank" href="http://www.iitshare.com/linux-svn-migration.html">http://www.iitshare.com/linux-svn-migration.html</a></p> <p></p> <h4 style="margin:0px auto; padding:0px; color:r

原文:http://www.iitshare.com/linux-svn-migration.html

svn备份方式对比分析

一般采用三种方式:
1、svnadmin dump
2、svnadmin hotcopy
3)svnsync
注意,svn备份不宜采用普通的文件拷贝方式(除非你备份的时候将库暂停),如copy、rsync命令。
曾经用rsync命令来做增量和全量备份,在季度备份检查审计中,发现备份出来的库大部分都不可用,因此最好是用svn本身提供的功能来进行备份。
优缺点分析:
第一种 svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种 svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持(俺的备份机有1TB空间,呵呵)。
第三种 svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。

svnadmin dump方式

SVN迁移需要做如下操作:
1. 将原来的Repository导出为一个文件dumpfile 。
#svnadmin dump 原先的repos的目录路径(/repository/directory) > dumpfile
#svnadmin dump /opt/svn/iitshare/ > /var/tmp/iitshare_20130626
2. 在另外一台机器上配置同样的SVN服务器。
参考:linux SVN安装及配置图解教程
3. 将dumpfile导入到新的repository 目录中。
#svnadmin load 新建的repos的目录路径(/repository/directory) < dumpfile
#svnadmin load /opt/svn/iitshare/ < /var/tmp/iitshare_20130626
4. 将原先服务器的配置文件备份后复制到新服务器中
#/opt/svn/iitshare/conf目录下
authz、passwd、svnserve.conf文件

svnadmin hotcopy方法

1. 备份
#svnadmin hotcopy /opt/svn/iitshare/ /var/tmp/iitshare_20130626 –clean-logs
如果你传递–clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。
你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。
2. 还原
#svnadmin hotcopy /var/tmp/iitshare_20130626 /opt/svn/iitshare/


目录
相关文章
|
4月前
|
安全 Unix Linux
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
79 0
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
|
2月前
|
NoSQL Linux 编译器
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
103 16
|
1月前
|
Java Linux 开发工具
Linux下版本控制器(SVN) -命令行客户端
Linux下版本控制器(SVN) -命令行客户端
45 3
|
1月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
70 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
3月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
185 28
|
3月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
183 19
|
3月前
|
Ubuntu Linux 网络安全
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
904 12
|
3月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
123 10
|
3月前
|
缓存 Linux
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
103 2
|
5月前
|
Linux
Linux安装svn并启动
Linux安装svn并启动
134 10