名前が変更されたファイルのバックアップのロード

名前が変更されたファイルのバックアップのロード

デフォルトのバックアップに使用するコマンドは、マイrsync -avr --delete working_directory/ backup/ディレクトリのミラーを正しく生成します。

しかし、時にはソースから大量のファイルを移動することがあります。たとえば、a/をA/に、b/をB/に名前を変更します。この場合、コマンドは最初に宛先a /を削除してから全体のa /をコピーします。

a /が大きい場合、これは面倒です。単にソースと一致するようにターゲット上のファイルを移動するより効率的なソリューションを適用する方法はありますか?

rsyncベースである必要はありません。すべてのCLIツールが可能です。

答え1

rsyncがREPLICA / aがMASTER / Aの「変形」であることを知るための「インテリジェント」方法はありません。

このタイプの冗長性を最小限に抑える唯一の方法は次のとおりです。実行された名前変更操作の追跡(mvインスタンスの履歴を取得します。)次に、次のコマンドをコピーします(手動で?)をREPLICAの下の対応するディレクトリに追加し、通常のrsync操作を実行すると、純粋なデルタのみがコピーされます。

問題は、ファイルシステムタイプが両端で同じであると仮定、REPLICA inodeテーブルはMASTER inodeテーブルとは異なるため、他のデバイスで名前が変更された可能性があるinodeと一致することはできません。残念ながら、この問題を解決する方法はありません。

これを直接実装する唯一の方法は、rsyncが実際にinode対応に対してinodeマップ(ファイル別基準)を追跡することです。しかし、私の考えでは、デバイスごとにファイルシステムごとに異なるinodeテーブル構造があるため、この問題は考慮または追求するには複雑すぎます。

関連情報