내 스크립트는 다음과 같습니다
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;
완벽한