最有成本效益的方式来备份Subversion数据到S3?

我正在使用S3作为我的Subversion数据库的异地备份回购。 当我转储我的SVN数据库,大约10千兆字节。 我想避免重复上传这些数据的费用。

这个大文件的解剖结构使得Subversion的新变化修改了文件的尾部,其他所有内容保持不变。 由于Amazon S3不允许您使用更改“修补”文件,因此每次在进行简单的Subversion提交后实例化备份时,我都必须上传10个演出。

以下是我看到的选项:

选项1我正在看重复性,它具有--volsize分割数据超过一定数量的数据。 是否有可能使用此分割Subversion转储,所以进一步增量备份以兆字节度量?

选项2我可以只备份热的Subversion版本库吗? 如果它正在写一个提交的过程中,这似乎是一个坏主意。 但是,我可以select在午夜和凌晨4点之间将回购协议离线。 我的Berkeley DB中的每个修订版都使用一个文件作为其logging。

为什么不把你的repo转换成使用FSFS格式而不是BDB?

这样,每个修订版本将作为一个单独的文件存储,所以增量备份将只发送自上次备份以来提交的修订版本。

您可以搭build一个小的Amazon EC2实例,并通过rsync或您喜欢的任何工具备份到Elastic Block Store(EBS)卷。 备份完成后,拍摄一张快照,并保存到S3。

在某些方面这是一个稍微复杂一些的解决scheme,但弥补了S3的一些限制/复杂性。

我知道这不是一个真正的答案,但为什么不使用SVN提供商,不担心这个东西?

另一个解决scheme是使用git,其中每个用户都有一个所有deltas的完整副本,所以你可以从服务器故障中恢复(因为都是平等的)。

由于我最近不得不这样做,所以我想补充一点,备份pipe理器有窍门。 它可以翻转转储并在s3上旋转。 我用这个作为参考。