Linha de comando para enviar email se a carga da CPU for alta

0

Eu quero escrever um forro no terminal para enviar e-mail se a carga da CPU for alta. Eu tenho esse, mas seu envio toda vez que sua execução

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

Eu quero fazer isso no terminal

    
por Hai Le 14.10.2016 / 20:53

1 resposta

2

Digamos que você queira um e-mail se a carga for 3 ou superior:

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