如何在没有本地副本的情况下远程备份svn

我有一个在磁盘上运行短的颠覆服务器。 我想归档一个较大的版本库来释放一些空间,所以我需要在远程服务器上对版本库文件进行完整备份。 不幸的是,回购是相当大的,这限制了几个简单的select:

  • 我不能使用svn dump或svn hotcopy,因为没有足够的本地存储可用于存储库的完整副本。
  • 我可以使用rsync,但svn服务器正在使用旧的berkeley db,看来这可能会创build一个损坏的备份。 回购没有被积极使用,但有可能有人我仍然在rsync运行时改变它。 在这种情况下停止SVN服务不是一个好的select,因为服务器被大量使用。
  • 过去我使用过一个名为rsvndump的实用程序,我的经验是,虽然这对于这种情况来说是理想的,但它往往会在大型存储库中过早并一致地死亡,从而导致无法使用的存档。
  • svnsync似乎是合理的,但是在远程服务器上需要额外的configuration步骤,而且看起来存档与实际的数据转储相比有些脆弱。 对于本质上是一次性的任务似乎也是过分的。

我正在寻找是否有办法通过rsync或sshpipe道运行svndump或hotcopy来在远程主机上创build“本地”存档。 一旦磁盘空间问题得到解决,备份必须是有效的,因为我需要它来进行恢复。

我不能使用svn dump或svn hotcopy,因为没有足够的本地存储可用于存储库的完整副本。

svnadmin dump命令将输出发送到stdout 。 用ssh svn-server.example.org svnadmin dump > /tmp/svn_backup这样的方法很简单。 转储输出将存在于您从中运行SSH的计算机上,而不是在服务器上。 你不应该在SVN服务器上需要额外的空间。