web-dev-qa-db-ja.com

「du-sh」がコピー後に異なるフォルダサイズを表示するのはなぜですか?

簡単なバックアップを作成し、すべてのファイルを1つのフォルダーから別のフォルダーにコピーしたいと思います。 OSはDebianです。

  • ソースフォルダでdu -shを実行すると、436Gになります。
  • 目的地で同じことをすると、384Gしか得られません。

Sambaを介して両方のフォルダーをWindowsマシンにマウントすると、両方のフォルダーのサイズは同じになります。

誰かが私を説明できますか、なぜduは異なるサイズを示していますか?

2
user3262987

du--apparent-sizeのオプションがあります。 2つのディスクのブロックサイズは異なると思います。ファイルがブロックを部分的にしか使用しない場合、他のファイルは残りを使用できないため、デフォルトでは、duはディスク使用量をブロック単位でカウントします。

/ dev/sda1のextファイルシステムが使用するブロックサイズを取得するには、次のようにします。

Sudo tune2fs -l /dev/sda1 | grep 'Block size'

すべてのファイルがコピーされたわけではないことが心配な場合は、 cfv のようなプログラムを取得して、元のファイルの再帰ハッシュを作成し、それを使用してバックアップを検証できます。

オリジナルからチェックサムを生成する

cfv -p /path/to/Origin -C -rr -f /tmp/checksum.sha1

チェックサムに対するバックアップの確認

cfv -p /path/to/backup -T -u -f /tmp/checksum.sha1
2
Pedro