ダックス
え~、今回はduコマンドを使った便利なtipsというか、ワンライナーの紹介です。
さて、サーバを管理していると、「ディスク容量を圧迫しているのはどのディレクトリだ?」ってのを知りたくなることってないですか?
ディスク使用量の傾向も把握せずに、サーバ管理者と言えようか。いや、言えまい。
近頃はHDDの容量単価も安くなり、自宅サーバごときでは、ディスクがあふれるなんてことはあまりないかもしれませんが、レンタルサーバなんかではディスク容量1.5GBとかはまだぜんぜん普通にあります。
つーわけで、以下に紹介するワンライナーを普段から使用して、自分の管理するサーバのディスク使用状況を把握しておきましょう。
alias ducks=’du -cks * |sort -rn |head -n 11′
この一行を.bashrcなどに記述しておけば使用準備はおk。
あとはディスク使用量を知りたいディレクトリに移動してducksと打ち込むだけ。
するとどうでしょう。ファイルorディレクトリのディスク使用量TOP10を表示してくれます。
以下は/varで使用した例です。
[root@scinfaxi]# cd /var
[root@scinfaxi]# ducks
1982756 total
1472600 log
211352 www
100868 cache
90112 tmp
66408 db
40900 lib
280 spool
136 run
64 bind
16 lost+found
一応簡単に説明を。
まずduコマンド。これは引数で指定されたファイルのディスク使用量を表示します。引数がディレクトリのときは再帰的に表示しますが、ここでは-sオプションを指定して総計のみ表示するようにしています。-kオプションはキロバイト表示、-cオプションは引数で指定されたすべてのファイル、ディレクトリの合計を表示するものです。
次にsortにパイプで渡して数値の大きい順に並べ替え、最後に先頭から11行目まで表示、とたったこれだけです。
このコマンドを/var/mail や/home で使用すれば、鯖のリソースを無駄に食いつぶす不逞の輩を把握するのに一役買うはず。