rsync 後のファイル使用状況の不一致

rsync 後のファイル使用状況の不一致

exFAT ファイルシステムから ext4 ファイルシステムにファイルをコピーしました。

sudo rsync -avz /media/user/1TB-SD-EX/ -e ssh example.com:/data/pc/sd1tb

実行が成功したら、ソースと宛先のサイズを確認します。du -b

$ sudo du -ah -b -d0 /media/user/1TB-SD-EX/
800100388315    /media/user/1TB-SD-EX/

$ sudo du -ah -b -d0 /data/pc/sd1tb/
793592516059    /data/pc/sd1tb/

アイテムの数をチェックするとfindwc

$ sudo find /media/user/1TB-SD-EX/ | wc -l
126743

$ sudo find /data/pc/sd1tb/ | wc -l
126743

違いがあることは知っています本物ファイルシステムの違いによりディスク使用量が異なりますが、なぜ見かけ上使い方が違う?

答え1

coreutils は、 ( によって暗黙的に)du呼び出された場合でも、合計に 0 以外のサイズのディレクトリを追加することがあります。このサイズは、空の FAT ディレクトリの場合は 512 バイトですが、空の ext4 ディレクトリの場合は 4096 バイトになります。より大きなディレクトリの場合はほとんど一致しないため、大きな違いとなります。--apparent-size-b

シンボリックリンク、ハードリンク、ACL、xattr、デバイス、特殊ファイルを別のファイルシステムに複製する適切なバックアップを検討する前に、よく考えることをお勧めします。これらのファイルは、それぞれ異なる方法で処理される可能性があります。それ以外の場合は、rsync が何をしているかを知っていると信頼してください。バックアップを検証するには、他のツールが 1 と 0 が一致すると判断するかどうかを尋ねないでください。文書化されトレーニングされた復元プロセスを実行し、復元された結果に対してビジネス ロジックを検証します。

関連情報