shell_检查磁盘剩余空间

来源:互联网 发布:网络nat类型 编辑:程序博客网 时间:2024/05/19 04:07

#!/bin/bash
# 从文件中按行读取,每行分割成字符串, 形成数组#   

function split_str()
{
   str="$1"
   OLD_IFS="$IFS"
   IFS="$2"
   array=($str)
   IFS="$OLD_IFS"
   for each in ${array[*]}
    do
        echo $each  
    done
}
ret=(`df -h | awk '{print $1 "," $2 "," $3 "," $4 "," $5 "," $6}'`)###ret为数组
split=","

sendflag=false###创建个变量用于标志需不需要发送通知
for line in ${ret[*]}
 do
    arr=(`split_str $line $split`)
    numarr=(`split_str ${arr[3]} "G"`)###将函数调用的结果赋值给变量

    ####检查系统盘所剩空间,非整数比较大小需要拐个弯
    if [ ${arr[5]} == "/" ] && [ `expr ${numarr[0]} \< 5.0` -eq 1 ] 
        then
          sendflag=true
    fi
    if [ ${arr[5]} == "/XXX" ] && [ `expr ${numarr[0]} \< XXXX` -eq 1 ]
        then
          sendflag=true
    fi
 done
echo "sendFlag:" $sendflag