ディスク使用量が80%を超える場合にのみEメールを送信する

ディスク使用量が80%を超える場合にのみEメールを送信する

私のスクリプトは次のとおりです

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; 

完璧

おすすめ記事