ほとんど変更されず、小さなファイルがたくさん含まれている大容量フォルダを最も迅速にスキャンできるrsyncに最適なスマートパラメータは何ですか?次のコマンドを使用して、1日の終わりにローカルディスクをUSB3ディスクに同期させ(1日の始まりにはその逆)、何も変更されていませんが、それでも1分かかります。早く確認できますか?たとえば、各フォルダに変更時間があると仮定しているので、/Source/Aと/Target/Aの変更時間が同じであれば、そのフォルダに再帰的に入る必要はありませんか?それとも、rsyncが入れ子になった何千もの小さなファイルをそれぞれチェックするのは危険ですか?別のアイデアがありますか?ありがとう
rsync -a --delete --stats /Source/ /Target/
Number of files: 208,645 (reg: 187,331, dir: 16,910, link: 4,404)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 11,103,192,078 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 65,536
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 4,126,114
Total bytes received: 17,677
sent 4,126,114 bytes received 17,677 bytes 236,788.06 bytes/sec
total size is 11,103,192,078 speedup is 2,679.48
答え1
rsync
特にデバイスの1つがある場合、2つのローカルデバイス間でより速い速度を得ることはできません。非ネイティブNTFS。変更されていない状態で「見える」ファイルを既にスキップしようとしています。
デフォルトのファイルシステム(ext4など)で、または2つの異なるシステム間でファイルを転送すると、スループットが高くなる可能性がありますが、それほど多くはありません。
ディレクトリであることを確認するために各エントリを検索する必要があり、変更時間が親エントリに伝播されないため、ディレクトリベースの最適化は使用できません。