디스크 공간 용량이 90%를 초과하면 이메일을 보내는 스크립트 [중복]

디스크 공간 용량이 90%를 초과하면 이메일을 보내는 스크립트 [중복]

디스크 사용량이 90%를 초과하면 자동으로 이메일 경고를 보내는 스크립트를 내 서버에 구현하고 싶습니다. 내 파일 시스템은 data/u01이고 마운트 지점은/u01입니다.

#!/bin/bash

[email protected]

ALERT=90

df -h | egrep -v 'data/u01/u01' | awk '{ print $5 " " $1 }' | while read output; 

do

usep=$(echo $output | awk '{ print $1}' )

echo $usep

if [ $usep -ge ${ALERT%} ]; then

  echo  "Alert: Almost out of disk space $usep"

  df -h | mail -s "Alert: out of disk space $usep"  $ADMIN

fi

done

.........

하지만 다음과 같은 오류가 발생합니다.

capacity

./iv.sh: line 8: [: capacity: integer expression expected
23%

./iv.sh: line 8: [: 23%: integer expression expected
0%

답변1

-ge정수가 필요합니다. %마지막 것을 제거 ALERT하고 usep다음으로 변경하십시오.

usep=$(echo $output | awk '{ print $1}' | tr -d "%" )

monit 패키지를 살펴보세요. 이는 더 표준적이며 모니터링 결과에 따라 조치를 취하는 것을 포함하여 더 많은 작업을 수행할 수 있습니다.

더 많은 작업을 수행할 수 있고 매우 유연하여 매우 간단한 형식으로 이벤트를 기반으로 경고 및 작업을 생성할 수 있는 monit과 같은 보다 표준적인 모니터링 방법을 사용하는 것이 좋습니다.

관련 정보