web-dev-qa-db-ja.com

ローカルコピーなしでsvnをリモートでバックアップする方法

ディスクが不足しているSubversionサーバーがあります。大きなリポジトリの1つをアーカイブしてスペースを解放したいので、リモートサーバー上のリポジトリファイルの完全バックアップを作成する必要があります。残念ながら、レポは非常に大きいため、いくつかの簡単なオプションが制限されます。

  • リポジトリの完全なコピーに使用できる十分なローカルストレージがないため、svndumpまたはsvnhotcopyを使用できません。
  • Rsyncを使用できますが、svnサーバーは古いberkeley dbを使用しており、これにより破損したバックアップが作成される可能性があります。リポジトリはアクティブに使用されていませんが、rsyncの実行中に誰かがまだリポジトリを変更している可能性があります。この場合、サーバーが頻繁に使用されるため、SVNサービスを停止することは適切なオプションではありません。
  • 私は過去にrsvndumpというユーティリティを使用しましたが、この状況には理想的ですが、大規模なリポジトリでは時期尚早かつ一貫して停止する傾向があり、アーカイブが使用できなくなります。
  • svnsyncは妥当なように見えますが、リモートサーバーで追加の構成手順が必要になり、アーカイブは実際のデータダンプと比較してやや壊れやすいようです。また、本質的に1回限りのタスクではやり過ぎのようです。

リモートホスト上に「ローカル」アーカイブを作成するために、rsyncまたはsshパイプを介してsvndumpまたはhotcopyを実行する方法があるかどうかを探しています。ディスク容量の問題が解決されたら復元する必要があるため、バックアップが有効であることが不可欠です。

4

リポジトリの完全なコピーに使用できる十分なローカルストレージがないため、svndumpまたはsvnhotcopyを使用できません。

svnadmin dumpコマンドは、出力をstdoutに送信します。 ssh svn-server.example.org svnadmin dump > /tmp/svn_backupのようなことをするのは簡単でしょう。ダンプ出力は、サーバーではなく、SSHを実行したコンピューターに存在します。 SVNサーバーに追加のスペースは必要ありません。

4
Zoredache