2010年11月18日木曜日

[SA-4-2] ディスク容量の監視(Shell Script)

サーバの残りディスク容量が低下すると動作に支障があるため,ディスク容量が閾値(80%)を超えた際にメッセージを表示する.
管理者宛にメールを送信するスクリプトと組み合わせることにより,サーバの管理画面を確認することなく,サーバの残りディスク容量の低下に気がつくことが可能となる.

disk_usage.bash
#!/bin/bash

# ディスク使用量が THRESHOLD(%) を越えたら警告
#THRESHOLD="80"
THRESHOLD="10"

# 引数: なし
print_disk_usage () {
    # df コマンドのオプション
    local DF_OPTIONS="-k -l"
#    local DF_OPTIONS="-k -l /dev/sda1"
    local line used

    df ${DF_OPTIONS} |
    (
 # へッダ行をそのまま表示
        read line
#        echo "${line}"
        echo ${line}\c
        while read line; do
     # "デバイス" "総容量" "使用中" "空き容量" "使用率" ...
     set -- ${line}
     case "$1" in
              # 実存する(仮想でない)デバイスのみ対象
       /*)
  used=${5%%"%"*}
  if [ ${used} -ge ${THRESHOLD} ]; then
      echo "${line}"
  fi
  ;;
     esac
 done
    )
}

output=$(print_disk_usage)
lines=$(echo "${output}" | wc -l)

if [ ${lines} -gt 1 ]; then
    echo "${output}"
fi

0 件のコメント: