linux检测磁盘空间脚本

环境:centos7

1、先获取磁盘空间大小

[root@demod ~]#df -h|grep sda1|awk '{print $5}'|awk -F \% '{print $1}'
14

2、将值赋予给一个变量进行值判断,发送信息

#!/bin/bash
source /etc/profile                                                          #做成定时任务依赖一些环境变量,先执行一下
g=`df -h|grep sda1|awk '{print $5}'|awk -F \% '{print $1}'`                  #获取磁盘空间使用数量
if ((g > 20));                                                               #与指定标准进行比对这儿配置的是20 ,可以自己定表准
      then                                   
        a_phon=("18381008111" "18524515151")                                 #定义数组内部为发送短信的电话号码    
        for element in ${a_phon[@]}                                          #获取值    
             do
                 curl -X POST 'http://ip/dxts' -d "phone=$element&contentent='xx服务器磁盘空间超标了'"   #通过短信api接口发送信息给相关人员
             done
        else
           echo 'good'                                                       #没有超标就直接执行这句
fi

3、邮件方式

#!/bin/bash
source /etc/profile >/dev/null
for i in {2..6}
  do
     ssh root@192.168.1.$i 'df -h /' > /tmp/full
     s=`cat /tmp/full|grep /|awk '{print $5}'|awk -F \% '{print $1}'`
     echo $i-$s
    if ((s > 80));
      then
        a_name=("mail@qq.com" )
        for element in ${a_name[@]}
          do
            echo $i的磁盘空间达到$s|mail -v -s "磁盘根目录空间告警" $element
           done
       else
        echo "$i成功"
      fi
   done

4、配置定时任务

1 9 * * * /tmp/tj.sh               #每天9点1分检查一次

 

posted @ 2020-08-06 17:00  苍茫宇宙  阅读(1008)  评论(0编辑  收藏  举报