2 つのオフライン データセットを同期したままにする

2 つのオフライン データセットを同期したままにする

インターネット接続が悪い場所に大規模なデータセットAとBの2つのレプリカがあるとします。経験的に、メタデータは転送できますが、実際のファイルデータは転送できないと仮定しますが、完全なオフラインソリューションがより優れています。コピーの1つはデフォルトのコピーで、もう1つは半定期的に更新する必要があるバックアップです。

2つのデータセットを同期する方法は...昔ながらです。誰かが更新する必要があるファイルを外部ドライブにコピーし、AからBに物理的に移動し、別のコピーからファイルを更新します。しかし、特にファイル破損などのエラー状況では、どのファイルを転送する必要があるかを追跡することがますます困難になっています。

外付けドライブにデータセットの完全なコピーを保存することは、容量より少なくとも1段階大きいため、非現実的です。一般的なファイルサイズは数ギガバイトであり、近い将来、データセット全体を数十テラバイト未満に増やすべきではありません。一般的な更新はファイルの追加であり、既存のファイルの更新と削除は非常にまれです。

最も重要なのは、保存されるバイトです。一貫性のないタイムスタンプやファイル権限は気にしません。

コピーBのファイルチェックサムをポータブルドライブに手動で保存し、コピーAで不一致を確認できます。しかし、私と同様のユースケースをサポートする成熟したツールはありますか?

ありがとうございます!

ベストアンサー1

rsync(1) を見てください。これはこの種の作業のために設計されています。

diff(1)/patch(1)(または違いツール)変更がローカライズされたことがわかっている場合。

データの構造と変更を理解すると、いくつかのプロのツールを見つけることができます。しかし、これはより多くの作業で脆弱であり、変化に応じて成長しません。

ディレクトリがほとんどのテキストファイルの場合は、それをgit(1)リポジトリに設定し、そこからインポートするのも実用的なソリューションです(変更を効率的にインポートして統合するために最適化されています)。

おすすめ記事