CPU 부하가 높을 때 명령줄을 사용하여 이메일 보내기

CPU 부하가 높을 때 명령줄을 사용하여 이메일 보내기

CPU 부하가 높을 때 이메일을 보내도록 터미널에 코드 한 줄을 작성하고 싶습니다. 나는 이것을 가지고 있지만 실행할 때마다 전송됩니다.

while true; do
  lsof -u nagios | wc -l;
  b=15;
  a=$(uptime | awk '{print $10}' | cut -d ',' -f1);
  uptime;
  if echo $a $b | awk '{exit $1>$2?0:1}'; then
    echo "DAL MCOM Nagios Load" | mailx -s "Load is greater than 15 $a" hai.le@xxx;
   fi;
   sleep 10;
done

터미널에서 이 작업을 수행하고 싶습니다.

답변1

로드가 3 이상일 때 이메일을 원한다고 가정해 보겠습니다.

max=3; load=$(cat /proc/loadavg | cut -d' ' -f1); [[ "${load%.*}" -ge "$max" ]] && mail -s "Load exceeded $max on $(hostname -s)" [email protected]

관련 정보