2016-06-24 4 views
0

現時点では、gitを使用してデータベースをバックアップしています。私はそれをしない理由がたくさんあることを知っていますが、これはこの記事のトピックではありません。 私たちはそれを行う必要があり、私たちはそれを行う(我々はそれには正当な理由がある)。 しかし、問題はgitが大容量のファイルを本当にうまく扱うことができず、gitがメモリ不足で実行できなくなったためです。私はgitの代替案(hg、darcs?)がこの目的のためにより良いかどうか疑問に思っていた。バックアップデータベースを扱うベストvcs

+1

['rdiff-backup'](http://www.nongnu.org/rdiff-backup/)または[' attic'](https://attic-backup.org/)を使用してみませんか?彼らはあなたのためにVCシステムを使うことをします:1)deltas/deduplicateを保存します。 2)歴史を提供し、Gitが(少なくとも簡単には)そうでないものを許可します:古い歴史を剪定すること。 – kostix

+0

私が必要とするのは、主にコミット/バックアップの違いをチェックできることです。 – mb14

+0

SVNはバイナリと大きなファイルを本当にうまく扱いますが、不要なコマンドはありません(あなたはrepoを再度ダンプ/フィルタリング/ロードする必要があります)。私は重複や "borg"のバックアップをもっと強く勧めています。 – tgharold

答えて

0

あなたは相反する要件を持っている、あなたはそれを言った:、

  1. は、あなたが2番目の引数が真である
  2. gitのが良く、大きなファイルに

を処理しないのgitを使用するために使用を使用する必要があります1回の変更ですべてのファイルが再割り当てされます。

あなたの最初の公理に反する、効率的な差分を処理するバックアップツールが必要です。

あなたは#2を変更することはできませんので、あなたは(:) Gitの内部をまたは変更)#1をほぐすする必要が

私は、データベース・システムに固有のバックアップソリューションを探します。あなたのニーズに合っていない場合は、rdiffアルゴリズムを使用するバックアップツールを使用してください(200KBのファイルがハッシュされるため、大きなファイルの小さな変更は変更されたブロックの再割り当てのみになります)。

+0

私はgitを使用する必要はありませんが、私はvcsを使用する必要があります。私はgitが大容量のファイルを処理するには最高のvcsであるとは思わないので、それを行うにはgitよりも別のvcsでなければなりません。またはgitプラグインかもしれません。バックアップツールにいくつかのvcs機能がない限り、バックアップはオプションではありません。異なるコミット/スナップショット間でdiff(テキストモード)を検査できる必要があります。 – mb14

+0

現時点では、gitは私のローカルマシンで完全にうまく動作します。それは動作しないGCだけです。私がしなければならないことは、すべてのものを別のマシンにコピーしてRAMを増やし、それをメインリポジトリにプッシュすることです。 – mb14

関連する問題