理由
duコマンドは、ファイルサイズではなくブロックサイズで表示するので正確な数値が表示されない。
【参考】
http://sonic64.com/2004-05-26.html
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8%A5%EA%A4%CE%CD%C6%CE%CC%A4%F2%C4%B4%A4%D9%A4%EB
find ./ -type f -printf "%s\n" |awk '{ sum += $1; }; END { print sum }'
で正確なファイルサイズの合計が表示される
現象例
du -hとしたらサーバAとBでサイズが違う
du -h [サーバA] 8.0K ./sample/jnlp/servlet/src/classes/jnlp/sample/jardiff/resources 52K ./sample/jnlp/servlet/src/classes/jnlp/sample/jardiff 16K ./sample/jnlp/servlet/src/classes/jnlp/sample/util 8.0K ./sample/jnlp/servlet/src/classes/jnlp/sample/servlet/resources 124K ./sample/jnlp/servlet/src/classes/jnlp/sample/servlet 196K ./sample/jnlp/servlet/src/classes/jnlp/sample 200K ./sample/jnlp/servlet/src/classes/jnlp 204K ./sample/jnlp/servlet/src/classes 1.4M ./sample [サーバB] 16K ./sample/jnlp/servlet/src/classes/jnlp/sample/jardiff/resources 80K ./sample/jnlp/servlet/src/classes/jnlp/sample/jardiff 28K ./sample/jnlp/servlet/src/classes/jnlp/sample/util 16K ./sample/jnlp/servlet/src/classes/jnlp/sample/servlet/resources 184K ./sample/jnlp/servlet/src/classes/jnlp/sample/servlet 300K ./sample/jnlp/servlet/src/classes/jnlp/sample 308K ./sample/jnlp/servlet/src/classes/jnlp 316K ./sample/jnlp/servlet/src/classes 2.2M ./sample
find ./sample -type f -printf "%s\n" |awk '{ sum += $1; }; END { print sum }' [サーバA] 861865 [サーバB] 861865
先人の知恵に感謝しつつリブログ