rsyncは、デルタ転送アルゴリズムを使用してファイルを転送すると言います。
ソースファイルと同じファイル名を持つ既存のターゲットファイルの場合、
増分転送アルゴリズムを使用するかどうか
- rsyncがソースファイルをターゲットに転送することを決定した後にのみ、または
- rsyncがソースファイルをターゲットに転送するかどうかを決定するとき
rsyncがソースファイルをターゲットファイルに転送することを決定した場合、
デルタ転送アルゴリズムは、ソースファイルとターゲットファイルの差を転送しますか?
デルタ転送アルゴリズムは、最初に2つのファイル間のパッチファイルを計算し、パッチファイルをターゲットに転送し、パッチファイルを既存のターゲットファイルに適用して「サブファイル」レベルで動作しますか?ソースファイルの同じコピー?
もしそうなら、rsyncはソースファイルとターゲットファイルの間のパッチファイルを計算するためにソースファイルをターゲットに転送する必要がありますか?もしそうなら、これは完全なソースファイル転送を防ぐための増分転送アルゴリズムの目的と矛盾しますか?
ありがとうございます。
答え1
rsyncがソースファイルをターゲットに転送することを決定した後にのみ
はい。
rsyncがソースファイルをターゲットに転送するかどうかを決定するとき
習慣。デルタアルゴリズムが起動すると、rsync
ファイルの更新にのみ専念します。
デルタ転送アルゴリズムは、ソースファイルとターゲットファイルの差を転送しますか?
基本的にそうです。このオプションを使用して無効にすることができます--whole-file
。デルタ伝送アルゴリズムは以下を送信します。いいえdiff
実際には2つのファイルの1つです。
デルタ転送アルゴリズムは、最初に2つのファイル間のパッチファイルを計算し、パッチファイルをターゲットに転送し、パッチファイルを既存のターゲットファイルに適用して「サブファイル」レベルで動作しますか?ソースファイルの同じコピー?
いいえ。rsync
送信者がファイルのコピー先バージョンのコピーを持っているとは見なされないからです。
rsync
ローリングチェックサムを使用すると、ファイル全体を任意の方向に転送せずに、ファイルの一致する部分を確認できます。もちろん、一致するものがない場合は、ファイル全体を転送する必要があります。