原文: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/

最新文章

  1. phpRedis安装、配置及简单使用
  2. eclipse如何配置tomcat运行web项目时省略项目名称
  3. u3d_shader_surface_shader_6
  4. 必须正确理解的---ng指令中的compile与link函数解析
  5. TYVJ P1004 滑雪 Label:记忆化搜索
  6. CSU 1119 Collecting Coins
  7. 基于canvas图像处理的图片展示demo
  8. C#生成随机验证吗例子
  9. .NET Core版本七牛云SDK使用
  10. DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库
  11. python_正则表达式随笔
  12. SpringBoot定时任务说明
  13. scrapy 琐碎的东西
  14. C++ 面向对象 类成员函数this指针
  15. 【python】判断值是否在list和set的对比以及set的实现原理
  16. Qt 信号槽
  17. 782. Transform to Chessboard
  18. NGINX配置详解及应用
  19. oracle中number对应java数据类型
  20. PHP性能优化四(业务逻辑中使用场景)

热门文章

  1. 104. Maximum Depth of Binary Tree
  2. public static void main(String[] args){}函数诠释
  3. JSON日期格式处理
  4. HTTP详解(1)-工作原理
  5. leetcode 141. Linked List Cycle ----- java
  6. JAVA的UML
  7. python 核心编程第5章(习题)
  8. 翻译:Universal Image Loader
  9. linux工具之putty
  10. Java的大数操作分为BigInteger和BigDecimal