HDDの容量不足への対応はまずは不要なファイルを消すことです。出来ればサイズの大きいファイルを真っ先に消したいところですね。
本日は、「HDD容量不足で困る前に!Linuxで一番容量の多いディレクトリを調べる」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。
本日は、「HDD容量不足で困る前に!Linuxで一番容量の多いディレクトリを調べる」についてです。
先日弊社猫ITソリューションズ代表である齊藤がHDDの容量不足でSubversionが使えなくなったと言う記事を投稿しましたが、その後「サイズの大きいファイル」を消すことにより、事なきを得たようです。
では齊藤はどうやって「サイズの大きいファイル」を探したのでしょうか?
齊藤は、du/sort/tailという3つのコマンドを使ってルートディレクトリ以下より「容量の多いディレクトリワースト10」を探して、そのディレクトリの中からサイズの大きいファイルを削除したのです。
1行で書くとこのようになります。
1 |
# du -m / | sort -n | tail -11 |
- du
ディレクトリ内のファイル容量を表示する
-m メガバイト単位で表示 - sort
行を並び変える
-n duの結果の先頭文字列(=容量)を元に並べ替えを行う。 - tail
ファイルの末尾を表示する
-11 末尾から11行(=ルートディレクトリ分+1)を表示する。
以下は現在のwwwサーバーにおけるコマンドと、その出力結果です。
1 2 3 4 5 6 7 8 9 10 11 12 |
# du -m / | sort -n | tail -11 279 /website/waku2traffics_test 304 /website/waku2traffics_www 421 /usr/lib 467 /usr/lib64 759 /website 1064 /usr/share 2587 /usr 3603 /var/log/httpd 3640 /var/log 3985 /var 7944 / |
補足ですが、
ルートディレクトリ以下に対してこのコマンドを行うと、実行結果が表示されるまでに少し時間がかかると思います。容量が多いディレクトリの見当がつくのであれば、ルートディレクトリを指定するのは避けた方が良いでしょう。
更に補足ですが、
齊藤の場合は極端にファイルサイズが肥大したerror_logが、HDD容量不足の原因でした。本来は「logrotate」というOS標準の管理ツールによりファイルサイズの肥大化は防がれるはずだったのですが、機能していなかったのです。
そこで一度error_logを削除し、正常にlogrotateがerror_logに対して働くように再設定することにより、HDD容量を確保したという訳です。今回は外部非公開の作業用サーバーでのトラブルだったので、大きな問題にはなりませんでしたが気をつけたいところです。
とりあえず齊藤には黒缶プレミアムでもおごってもらうとしましょう。
アイシア 黒缶 ささみ入りかつお キャットフード ウェット 缶詰 アイシア 猫 【160g×3缶×18個】| キャットフード 缶詰 猫缶 キャットフ..




