디스크 사용량이 80%를 초과하는 경우에만 이메일 보내기

디스크 사용량이 80%를 초과하는 경우에만 이메일 보내기

내 스크립트는 다음과 같습니다

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]

조건이 충족되지 않으면 이메일로 다음 출력을 받습니다.

Filesystem Use

하지만 디스크 사용량이 80%를 초과하는 경우에만 메일이 필요합니다.

답변1

이런 종류의 일을 처리하려면 a) 멀티라이너를 사용하고 b) "nagios" 및 co를 확인하는 것이 좋습니다. 처음 시도하려면 다음 스크립트를 확인하세요.

#!/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; 

완벽한

관련 정보