
マイコンピュータの内部ドライブの1つを外部ドライブにバックアップしました。次に、rsyncを使用して2つのドライブを同期したときに、変更されていない大容量(40 GB以上)のファイルを「コピー」するのにまだ長い時間がかかることがわかりました。 rsyncが修正時間とファイルサイズを最初に見ると思いましたか?なぜこれほど時間がかかるのですか?チェックサムを使用しているかのように?
もともと次のようにファイルをコピーしました。rsync -rv --delete /src/path/ /dest/path/
答え1
メタデータをコピーするわけではないため(メタデータをコピーする代わりに使用または--archive
コピーする場合)、コピーと元のメタデータ(タイムスタンプ、所有権など)が異なります。もう一度実行するとタイムスタンプが異なるため、ファイルが再コピーされます。-a
-r
rsync
だから、あなたは使いたいでしょう
rsync -ai --delete /src/path/ /dest/path
私は-i
(--itemize-changes
)を使います。なぜならそれが私にも教えてくれるからだ。なぜファイルがコピーされました。
また、実行時も参考にしてください。地元のコピーするrsync
とそうでしょういいえデルタアルゴリズムを使用しますが、あたかも--whole-file
(or)が指定されているかのように動作します。-W
これは、ネットワーク経由で転送する場合、増分アルゴリズムがファイル全体の転送よりも高速であると仮定するためです。デルタアルゴリズムを使用する場合は、ソースシステムとターゲットシステムの両方からファイル全体を読み取り、チェックサムを計算する必要があります。ローカルで行うのは多少無駄に思われるので、ファイル全体をコピーしておいてください。