rsync に最適なファイルは何ですか?

rsync に最適なファイルは何ですか?

私の知る限り、rsync ツール内のアルゴリズムはファイルをスライスし、各スライスのハッシュを計算します。したがって、ハッシュ アルゴリズムによって、実際に転送されるデータが少なくならずにファイルが再構築されるファイルがあると考えられます。ゼロのみのファイルは適切な候補になると思いますが、そうでしょうか?

答え1

rsync アルゴリズムはそれよりも洗練されています。リモート ファイルのファイル スライスのハッシュが計算され、ローカル rsync に送信されます。ローカル rsync はこれらのハッシュを使用して、ローカル ファイル内の一致するファイル セクションを、それが出現する場所のどこでも検索します。これらの一致するセクションは送信されません。代わりに、これらのセクションを再現する方法をリモート rsync に指示するトークンが送信されます。これにより、rsync はファイル全体の送信を回避します。

したがって、rsyncに最適なファイルは、おそらく挿入や削除によって移動された、大量の共通データを持つファイル、たとえば典型的な人間の編集活動によって生成されるファイルです。これは驚くべきことではありません。rsyncの作者であるAndrew Tridgellが彼の著書で書いているように、博士論文彼は、モデム リンク経由でプログラム ソース ファイルが更新されるのを待ちながら、rsync アルゴリズムを検討し始めました。

関連情報