【问题标题】:SVN dump size: is it possible to reduce it?SVN转储大小:是否可以减少它?
【发布时间】:2015-05-14 22:52:48
【问题描述】:

我有一个巨大的 SVN 存储库,我需要每周转储一次。 存储库的大小约为 66 GB;在命令“svnadmin dump”之后,大小约为 184 GB。

是否可以减少转储的大小,以便拥有更安全的备份过程?

我看过别人用svnsync,但我的目标是把数据带出来,所以目前最好的解决方案是“dump + hooks和授权数据的副本”。

其他人如何管理庞大的 SVN 存储库的备份?

非常感谢。

【问题讨论】:

  • 没什么,我的 2GB 存储库导致了 500GB 的转储文件!
  • 我有一个 80GB 的 SVN 转储。我不得不编写my own SvnDumpFileParser,并在Java 中实现filters/mutators 以过滤掉二进制文件和其他不必要的文件和修订,这在从转储文件恢复存储库后将其减少到

标签: svn size dump svnadmin


【解决方案1】:

--deltas 选项应该有助于减少存储库转储大小。即:

svnadmin dump --deltas REPO

您也可以使用svnadmin hotcopysvnadmin hotcopy --incremental 进行备份。

【讨论】:

    【解决方案2】:

    我为 svn dump 尝试了一些场景,这就是我的结果。好吧,它们不是66G,但比例应该是一样的。
    windows中原始文件夹大小:255M(一个仓库)

    案例1:停止服务,压缩文件夹,重启服务:180M
    案例 2:svnadmin 转储 + zip |转储大小:1408M (!!??) 压缩大小:410M
    案例 3:svnadmin 转储 --delta + zip |转储大小:550M,压缩大小 270M

    什么? svn dump,即使有delta,对我们的需求来说太大了......我可以在晚上停止服务,所以我们将使用解决方案1,只需停止VisualSVN服务器,压缩存储库文件夹,然后重新启动服务。

    如果您更喜欢“转储”方法,您可以直接将其 7zip 压缩,无需中间文件,如 that other solution 中所述

    【讨论】:

    • 案例 2:这里没什么奇怪的,svnadmin dump 没有 --deltas 将有全文修订,并且不使用任何节省空间的技术。 案例 3:转储流不使用 SVN 存储库中的其他空间节省设置。在大多数情况下,它们会比磁盘上的存储库大。顺便说一句,您是否尝试过 VisualSVN Server 3.6.x 中新的内置 Backup and Restore
    • @bahrep 是的,我有,生成的 .vsvnbak 文件看起来像案例 1,它不是“转储”。他们在根目录中添加 .vsvnbak 子文件夹以获取所需的其他信息。看起来他们直接使用 svnadmin hotcopy 到一个 zip 文件。他们的备份看起来像我的案例 1,唯一的区别是 zip 压缩比。但是,我无法使用免费版本的 visualsvn 自动执行备份过程,因此我将继续每天从批处理文件中执行“案例 1”。
    • @foxont​​herok 您可以使用免费的 VisualSVN 服务器标准版自动执行完整备份——您可以在脚本中使用Backup-SvnRepository PowerShell cmdlet。但是,此 cmdlet 仅进行完整的 repo 备份。企业版启用支持高效增量备份的计划后台作业。根据存储库的大小,您可能会发现增量备份非常有用。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2019-04-08
    相关资源
    最近更新 更多