#!/bin/bash tmp=$(mktemp) warning=10 precedente=0 differenza=10 risultato=0 up=0 #legge la coda dei messaggi presenti. # q contiene il numero delle mail # ql contiene l'elenco delle mail in attesa q=$(mailq | grep -e "^[A-Z|0-9]" | wc -l) ql=$(mailq | grep -e "^[A-Z|0-9]") echo "coda Mail ${q}" # sequenza, # legge, se presente, il file di configurazione # conta le email, se le email superano la soglia di avviso, # salva il numero delle email nel file di cfg. # se le mail attuali supera la soglia, avviso # 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. #, invia gli allarmi, #se e' anche presente l'alarme, legge i valori contenuti if [ -f /tmp/ALARM_QUEUE_MAIL ]; then precedente=$(cat /tmp/ALARM_QUEUE_MAIL) fi risultato = $((precedente-q)) if [ ${risultato} -gt echo "precedente: ${precedente}" echo "risultato: ${risultato}" if [ ${q} -gt ${risultato} ]; then echo "Numero di mail superiore al previsto: ${q}" up=1 else up=0 fi echo "stato: ${up}" if [ ${up} -eq "1" ]; then if [ ${q} -gt ${warning} ]; then echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" root echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" admin@altemica.net echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" assistenza@altemica.com echo "${ql}" | mail -s "ATTENZIONE: coda mail su mx1 ${q}. VERIFICARE!" mauro@altemica.com echo "${q}" > /tmp/ALARM_QUEUE_MAIL else if [ -f /tmp/ALARM_QUEUE_MAIL ]; then echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." root echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." admin@altemica.net echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." assistenza@altemica.com echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su mx1 ${q}." mauro@altemica.coma fi fi else rm /tmp/ALARM_QUEUE_MAIL 2> /dev/null fi rm ${tmp}