返回列表 发帖

磁盘使用率监控脚本

定时检测磁盘使用情况,一旦发现某个分区异常则调用php的短信接口来发送短信报警。如果没有第三方的短信接口也可以使用邮件来替代。
  1. #!/bin/bash
  2. #set -x

  3. BASEDIR=$(dirname $0)
  4. php_bin='/usr/local/php5/bin/php'

  5. ip=$(ifconfig |grep "inet addr"|cut -d: -f2|awk '{print $1}'|egrep -v "^(10|172.16|192.168|127.0.0.1)"|head -n 1)
  6. partition=($(df|awk '{if($(NF-1)~"%" && $NF~"/")print $(NF-1), $NF}'|awk '{print $2}'))
  7. disk=($(df|awk '{if($(NF-1)~"%" && $NF~"/")print $(NF-1), $NF}'|awk '{print $1}'))
  8. disk_num=${#disk[*]}

  9. # clean log
  10. cat /dev/null > $BASEDIR/disk.log

  11. for ((i=0;i<$disk_num;i++))
  12. do
  13.     if (( ${disk[$i]} > 60 ));then
  14.     echo "${partition[$i]} ${disk[$i]}" >> $BASEDIR/disk.log
  15.     fi
  16. done

  17. if [ -s $BASEDIR/disk.log ];then
  18.     content=$(cat $BASEDIR/disk.log)
  19.     $php_bin $BASEDIR/sms.php "$ip" "$content"
  20. fi
复制代码

返回列表