Enviar email somente se os usos do disco excederem 80%

0

Meu script é:

abc=$(df -h | sed s/%//g | awk '{ if($5 > 80) print "Alert "$0;}' | awk '{print $2,$6}') \
    && echo -e "Dear All, \n\n$abc\n\nABC" \
     | mailx -s "Disk partition" [email protected]

Aqui quando a condição não é verdadeira, recebo a seguinte saída no meu email:

Filesystem Use

No entanto, quero apenas o correio quando o uso do disco exceder 80%.

    
por user155467 08.02.2016 / 07:27

1 resposta

1

Recomende o uso de a) multilayers para tais coisas, b) para verificar 'nagios' e co. Para a primeira tentativa, confira este script:

#!/bin/bash
function chk () {
        # declare as integer to  be used in arithmetic expressions
        declare -i usage
        echo "checking mount $1. has $2 percent"
        usage=$2

        if [[ ${usage} -gt 80 ]] ; then 
                echo "alert for partition $1"
                #echo -e "Dear ..." | mailx -s "Disk partition ..." 
        fi
}
df -h | grep -v "none" | tail -n +2 | sed s/%//g | while read a b c d e f; 
        do chk $a $e; 

concluído

    
por 08.02.2016 / 08:57