gpt4 book ai didi

windows - 如何备份 13 GB 的 SVN 存储库?转储是 100+ GB

转载 作者:可可西里 更新时间:2023-11-01 13:20:06 28 4
gpt4 key购买 nike

我在文件系统上有大约 12 个大小为 1 GB 到 10 GB 的存储库,我需要为所有这些存储库设置自动备份(我们的旧备份脚本在计算机出现故障时丢失了) XP 64 位机器。

看完this question关于备份 SVN 存储库的最佳方法,我开始转储我们拥有的最大存储库,大约 13 GB。此命令现在已执行约 2.5 小时,目前正在转储 300 多个版本中的约 200 个版本。

svnadmin --deltas \\path\to\repo\folder > \\path\to\backup\folder\dump.svn

转储文件超过 100 GB,并且还在增加。我知道我可以 7-zip 这个傻逼,但是 100 GB?! ... o_O

存储库包含大量二进制数据,这可能是问题的一部分,但就目前而言,切换到更高效的版本控制系统(假设有一个)是不现实的; SVN 是这里生活的一部分。

我考虑过使用 hotcopy,它占用的空间少得多,但我尝试使用我们的一个旧的 hotcopy-ed 备份,而 subversion 1.7 找不到它需要的一堆文件。看来我必须安装最初对 repo 进行热复制的 SVN 版本,然后转储该 repo 以将其放入更新的 SVN 中。此声明似乎验证了我在使用热复制时遇到的问题:http://svn.haxx.se/users/archive-2005-05/0842.shtml

我觉得我只是错过了什么。也许有一些转储标志神奇地使转储大小减少了 1/5...

我还有其他选择吗?


更新:最新的修订版 #327 刚刚被丢弃。转储文件的最终大小为 127 GB。这是来自 13.5 GB 的存储库。我的所有存储库加起来可能大约是这个数量的 3 倍。

最佳答案

对于日常备份我会说你真的不需要做一个svnadmin dump。如果您要将存储库传输到可能运行不同 SVN 版本和操作系统的新服务器,我会使用转储方法,因为它是转储存储库的最便携方式,但它不是很节省空间。

我建议使用引用该链接的热复制方法。这将保证文件系统的状态是一致的,并且还将复制配置文件和 Hook 脚本(顺便说一句,svnadmin dump 不会复制这些,所以你最终会得到一个不完整的备份).因为它只是存储库的直接副本,所以大小相同,因此备份应该更易于管理。

在紧急情况下,如果您需要恢复从热拷贝完成的备份,那么您只需要一台具有相同主要 SVN 版本(例如 1.6 或 1.7)的机器,并且为了安全起见,还需要相同的操作系统。然后您应该能够直接使用这个存储库,或者您可以在此时执行 svnadmin dump 以转移到新服务器。

编辑:svnsync 和 hotcopy 的比较:

共同点:

  • 在备份期间安全地处理存储库写入
  • 备份大小 = 存储库大小

热拷贝的优点:

  • 更容易设置
  • 备份 Hook 和配置文件

svnsync 的优点:

  • 允许备份到不同的机器上
  • 仅写入自上次同步以来的新修订,因此同步速度非常快,这意味着您可以进行非常紧凑的增量备份

关于windows - 如何备份 13 GB 的 SVN 存储库?转储是 100+ GB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12502058/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com