【问题标题】:How to backup SVN repository? [duplicate]如何备份 SVN 存储库? [复制]
【发布时间】:2011-07-26 22:15:54
【问题描述】:

我经常听说拥有 SVN 存储库并不会取消备份需求。

这样的备份是如何完成的?我的意思是存储库会随着时间的推移而膨胀,不是吗?那么我是每次都将其作为一个整体进行备份,还是我该怎么办?

进行此类备份的最简单方法是什么?

【问题讨论】:

    标签: svn version-control backup backup-strategies


    【解决方案1】:

    您可以使用svnadmin dump。例如,要在 Linux 中创建压缩备份文件,请运行:

    svnadmin dump -q /path/to/repo | bzip2 -9 > repo_backup.bz2
    

    要恢复备份,请使用 svnadmin load:

    svnadmin create /path/to/newrepo
    bzip2 -cd repo_backup.bz2 | svnadmin load /path/to/newrepo
    

    另请参阅 SVN 手册中的 Repository data migration using svnadmin

    【讨论】:

      【解决方案2】:

      我用过svnadmin with hotcopy

      svnadmin hotcopy repopath backupdestination
      

      您也可以使用svnadmin dump command

      【讨论】:

      • 热拷贝后可以压缩吗?喜欢svnadmin hotcopy -q repopath | bzip2 -9 > repo_backup.bz2
      • 应该可以,只是将结果传送到您的 zip 命令中......
      【解决方案3】:

      我已使用 post commit hook 进行增量备份:

      REM 版本的备份

      MD "C:\SVN 备份\增量\%TYPE%"

      设置 TYPE=2020

      设置 ADMIN="C:\Program Files (x86)\WANdisco\uberSVN\bin\svnadmin.exe"

      设置 ZIP="C:\Program Files\7-Zip\7z.exe"

      %ADMIN% 转储 %REPOS% -r %REV% --incremental | %ZIP% a -si "C:\SVN 备份\增量\%TYPE%\%2.7z" -mmt -mx9

      除了增量转储之外,我还有一个运行完整转储的每周批处理文件。 有点矫枉过正,但所有转储文件都使用 7 Zip 命令行实用程序进行压缩。此后,它会同步到我们常用的备份媒体中。

      编辑 - 使用 7 Zip 命令行实用程序压缩转储文件的最新代码更新代码以节省一些空间。

      【讨论】:

        【解决方案4】:

        只需复制并压缩整个存储库文件夹,即可轻松返回到不同的时间点。当然,您必须确保在使用存储库时不要这样做,否则天知道会发生什么:)

        在 Windows 上,您可以使用 VSS 来确保进行一致的备份或在晚上不使用时进行备份。

        或者,检查this similar questionthat blog post

        【讨论】:

        • 这带来了另一个问题 => 手动复制存储库和使用 svnadmin dump -q /path/to/repo | 有什么区别? bzip2 -9 > 文件名.bz2 ?哪个是更好的选择,我认为这两种方法我都测试过!
        • 我认为 dump/hotcopy 可以很好地处理其他进程对存储库的潜在并发访问
        【解决方案5】:

        我只是每周压缩一次存储库,然后将压缩文件复制到不同的存储位置。

        【讨论】:

        • 你如何确保在你这样做的时候没有人提交?
        • 这仅适用于您没有其他提交的情况(例如,只有一个开发人员)。对于大多数人来说,这并不是一个真正可行的解决方案。
        • 是的,只有一个开发人员。我想在有更多开发人员的情况下,可以将 SVN 工具配置为暂时拒绝提交,并显示“服务器正在备份过程中,请在 10 分钟后重试”之类的消息,但我不确定它目前是否支持。跨度>
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 1970-01-01
        • 2011-11-07
        相关资源
        最近更新 更多