HDDの容量が無くなると当然のことながらサーバのいろんな処理が不具合を出します。
最悪、フリーズします。
MRTGやHotSaNICなどの監視ツールを入れてこまめにチェックするのもサーバ管理としては正しいとは思いますが、
そろそろ危なくなってきたなーという頃合にメールでお知らせしてくれる親切な機能があってもいいじゃない。
とワタクシ、そう考えたわけでございます。
なので、そんな保険的な処理を作ってみました。
簡単な流れとしては、
1日1回HDDの容量をチェックして使用割合が一定の値を超えたらメールを携帯に投げてくれるというもの。
以下、bashスクリプトです。
[hdd-check.sh]
#!/bin/bash
###########################################
# HDDの容量を自動でチェック
###########################################
#########################
# dfコマンドで容量を取得
data=$(df -h /)
#########################
# 容量の使用割合を抽出
rate=$(echo $data | awk '{printf "%s",$11}')
# 使用割合から'%'を削除
value=$(echo $rate | sed -e 's/\%//i')
#########################
# 90%を閾値として比較
if [ $value -gt 90 ] ; then
######################
# メール設定
to_addr='**********@k.vodafone.ne.jp'
subject=$(echo 'サーバ[******]のHDD容量が90%を越えました.' | nkf -j)
body=$(echo "現在のHDD使用割合は ${rate} です." | nkf -j)
data=$(echo $data | nkf -j)
# メール送信
mail -s $subject $to_addr << M_BODY
$body
---------------
$data
M_BODY
fi
# 終了
exit 0
これが正攻法なやり方なのかは分かりませんが、目的をこなすことができるのでOKかなと。
ちなみに補足しておくと、[k.vodafone.ne.jp]というのは関西のボーダフォンに割り振られるメルアドです。
そうです、私はボーダフォンユーザーなのです。