c.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash
  2. tmp=$(mktemp)
  3. warning=10
  4. precedente=0
  5. differenza=10
  6. risultato=0
  7. up=0
  8. #legge la coda dei messaggi presenti.
  9. # q contiene il numero delle mail
  10. # ql contiene l'elenco delle mail in attesa
  11. q=$(mailq | grep -e "^[A-Z|0-9]" | wc -l)
  12. ql=$(mailq | grep -e "^[A-Z|0-9]")
  13. echo "coda Mail ${q}"
  14. # sequenza,
  15. # legge, se presente, il file di configurazione
  16. # conta le email, se le email superano la soglia di avviso,
  17. # salva il numero delle email nel file di cfg.
  18. # se le mail attuali supera la soglia, avviso
  19. # se le mail sono in calo (avvisa che sono in calo, ma avvisa): il calo viene calcolato facendo la differenza tra le mail del conteggio attuale - le mail precedenti (il valore risultante deve essere superiore alla differenza), avviso di situazione in fase di rientro. esce.
  20. #, invia gli allarmi,
  21. #se e' anche presente l'alarme, legge i valori contenuti
  22. if [ -f /tmp/ALARM_QUEUE_MAIL ]; then
  23. precedente=$(cat /tmp/ALARM_QUEUE_MAIL)
  24. fi
  25. risultato = $((precedente-q))
  26. if [ ${risultato} -gt
  27. echo "precedente: ${precedente}"
  28. echo "risultato: ${risultato}"
  29. if [ ${q} -gt ${risultato} ]; then
  30. echo "Numero di mail superiore al previsto: ${q}"
  31. up=1
  32. else
  33. up=0
  34. fi
  35. echo "stato: ${up}"
  36. if [ ${up} -eq "1" ]; then
  37. if [ ${q} -gt ${warning} ]; then
  38. echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" root
  39. echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" admin@altemica.net
  40. echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" assistenza@altemica.com
  41. echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" mauro@altemica.com
  42. echo "${q}" > /tmp/ALARM_QUEUE_MAIL
  43. else
  44. if [ -f /tmp/ALARM_QUEUE_MAIL ]; then
  45. echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." root
  46. echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." admin@altemica.net
  47. echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." assistenza@altemica.com
  48. echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." mauro@altemica.coma
  49. fi
  50. fi
  51. else
  52. rm /tmp/ALARM_QUEUE_MAIL 2> /dev/null
  53. fi
  54. rm ${tmp}