rsync は、大規模バイナリファイルのディレクトリを比較します。ファイルの内容を比較しますか?

rsync は、大規模バイナリファイルのディレクトリを比較します。ファイルの内容を比較しますか?

ムービーファイルを含む2つのハードドライブがあり、両方のハードドライブに同じコンテンツが必要です。

私はディスクBがディスクAと同じファイルをディスクAに持っていることを確認しましたが、rsyncすべてを転送しているようです。

Aドライブに約10の新しい映画を追加しましたが、私が望むのは、rsyncどの映画が新しい映画であるかをすばやく確認してコピーすることです。

私がしていることは

rsync -rv -P /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

(両方ともローカルにマウントされたUSBディスクです。)ファイルの99%をスキップし、新しく追加されたファイルのみを転送するとします。

しかし、すべてが変わっているようです。

Alien/Alien (1979).avi
   735027200 100%   17.24MB/s    0:00:40 (xfer#2, to-check=329/333)
Alien/Aliens (1986).avi
   945698816 100%   16.27MB/s    0:00:55 (xfer#3, to-check=328/333)
Animated/Aladdin (1992).avi
   869096258 100%   16.67MB/s    0:00:49 (xfer#5, to-check=325/333)

これらの映画はソースとターゲットにすでに存在しています。

ファイルは同じです。これにより、詳細がまったく同じになり、ls -la権限、所有者、サイズなどが同じになります。

rsyncが必要ですか?バイトファイルを探すのは本当に同じですか?これは非常に遅く、これを行うのに必要ではないからです。

私が本当に欲しいのは、rsync「対象にないファイルを元にコピーし、他の要素はすべて無視する」というコマンドです。

ティア。

答え1

--archive-a)または--times()フラグがありません-t。これらのいずれかがないと、rsync変更時間を追跡する方法がないため、コピーされたように見えるファイルをバイパスすることはできません。

rsync -avP  /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

または

 rsync -rtvP /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

ローカルにコピーするため、スマート部分はrsync無効になります。完全なコピーを取得するか、すでにコピーしたコピーを取得します。ネットワークコピーとは異なり、欠落/変更された部分のみを転送する方法はありません。

答え2

あなたが探しているマークは次のとおりです。--ignore-existing

関連情報