`
shenzhang722
  • 浏览: 9778 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

visual svn的备份和还原[转]

    博客分类:
  • svn
 
阅读更多
Visual SVN备份和还原
除去最常用的update,checkout, commit等操作,最常见的就是对svn版本库的备份和还原。
备份策略
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或svnadmin hotcopy或svnsync来做,
hotcopy:
svnadmin hotcopy path/to/repository path/to/backup –clean-logs
dump:
svnadmin dump 版本库路径及名称 –revision 导出的版本号> 导出的命名

增量备份:使用svnadmin dump的–incremental选项来实现
svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –incremental > 导出的命名

一个技巧:如果你有一个较大的Subsersion版本库而你又想用最少的空间来将它备份下来,用这个命令(请将/repo替换成你的版本库路径)吧:
svnadmin dump –deltas /repo |bzip2 |tee dump.bz2 | md5sum >dump.md5
分步解释:最重要的一步是 -deltas,将消耗更多的CPU资源,但拥有更有效的差异存储办法。
bzip2压缩方案比gzip慢,但换来的更好的压缩率。
更有趣的是,tee方法将压缩的数据流转向到文件dump.bz2,同时将其输出到标准输出,后者有转向给了MD5摘要计算工具。

还原命令:
还原版本:svnadmin load 要恢复的版本库路径及名称 < 导出的命名
svnadmin hotcopy path/to/repository path/to/backup –clean-logs
分享到:
评论

相关推荐

    VS中SVN插件,SVN在VS和Axure中的使用文档说明

    同时,SVN还提供了备份和恢复功能,确保项目安全。 综上所述,AnkhSVN作为VS的SVN插件,使得在IDE内进行版本控制变得更加便捷。而在Axure中,虽然没有直接集成,但通过外部客户端也能实现SVN的大部分功能。正确理解...

    svn的安装和使用的教程

    本教程将详细介绍Subversion(简称SVN),一种广泛应用的版本控制系统,其主要目标是在功能上超越早期的版本控制工具如Visual SourceSafe (VSS) 和 Concurrent Versions System (CVS)。 #### 二、SVN的核心需求分析...

    SVN客户端和服务端软件以及使用说明

    SVN,全称为Subversion,是一种版本控制系统,用于管理对文件和目录的修改历史,使得多人协作开发变得可能。在IT行业中,SVN是开发者们常用的一种工具,它能够跟踪项目的变化,帮助团队成员协同工作,同时保持代码的...

    VisualSVN-Serverx64.zip

    此外,VisualSVN Server中的备份和还原功能非常易于设置和维护,并且与预定的存储库验证相结合,可以保护您的版本化数据免受硬件和软件故障以及人为因素造成的意外损失。除此之外,主要功能还包括支持HTML5的Web界面...

    .net2005版本转换

    6. **备份与版本控制**:在进行版本转换之前,一定要对原始项目进行备份,并且建议在版本控制系统(如Git或SVN)中管理代码,以便在出现问题时可以轻松恢复。 7. **替代方案**:除了使用转换工具外,还可以考虑其他...

    删除VSS管理生成的*.scc等文件

    删除文件后,如果需要恢复,可能需要从VSS数据库中还原,或者从备份中恢复。 7. **替代VSS的现代版本控制系统**: 考虑到VSS的局限性,许多团队转向了更现代、更强大的版本控制系统,如Git、SVN(Subversion)或...

    TortoiseSVN_1.9.5.27581_win32

    - **自动备份**:通过定期提交,SVN仓库可以作为项目的备份源。 3. **安装与配置**: - TortoiseSVN_1.9.5.27581_win32是特定版本的安装包,适用于32位Windows系统。 - 安装过程中,用户需要设置SVN服务器的URL...

    TortoiseSVN

    9. **备份与恢复**:SVN仓库的数据是版本化的,可以轻松备份,万一发生意外,能快速恢复到任一历史状态。 总之,TortoiseSVN作为Subversion的客户端,为开发者提供了一套强大且易用的版本控制工具,极大地促进了...

    删除程序文件夹下的VSS相关信息

    标题中的“删除程序文件夹下的VSS相关信息”指的是在计算机中清理与Visual SourceSafe (VSS) 相关的元数据和配置信息。Visual SourceSafe是Microsoft推出的一款版本控制系统,常用于管理软件项目的源代码和其他文件...

    项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】

    - 如需恢复,可以从备份中还原仓库。 9. **与其他工具的集成**: - TortoiseSVN可以与IDE(如Visual Studio、Eclipse等)集成,提供更便捷的开发环境。 通过以上步骤,你将能有效地利用VisualSVN Server和...

    VSS 2005 要用的人自己知道

    Visual SourceSafe 2005(简称VSS 2005)是由Microsoft开发的一款版本控制系统,主要用于软件开发团队管理代码和其他项目资源的版本和变更历史。它在软件开发过程中扮演着重要的角色,帮助团队成员协作,跟踪代码的...

    vss 版本控制器 - 项目文件版本管理控制器

    4. **备份与恢复**:VSS的备份和恢复过程相对复杂,不如现代版本控制系统直观。 5. **不支持大文件**:VSS在处理大型文件时效率低下,且不支持大型二进制文件的高效管理。 **四、替代方案** 由于上述局限性,许多...

    eclipse vss 插件 最新

    1. **源代码版本控制**:Eclipse VSS插件允许用户在Eclipse环境中执行基本的VSS操作,如添加、删除、修改、获取最新版本、签出、签入、比较、合并和还原文件。 2. **集成工作流**:该插件无缝集成到Eclipse的开发...

Global site tag (gtag.js) - Google Analytics