| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #!/bin/bash
- warning=100
- mailincoda=25
- precedente=0
- differenza=0
- up=0
- data=$(date +"%H:%M %d-%m-%Y")
- #legge la coda dei messaggi presenti.
- q=$(mailq | grep -e "^[A-Z|0-9]" | wc -l)
- ql=$(mailq | grep -e "^[A-F0-9]")
- soggetto="Coda Mail: ${q} - Rilevamento: ${data}"
- if [ -f /tmp/ALARM_QUEUE_MAIL ]; then
- # se e' presente l'allarme, provvede a leggerlo
- precedente=$(cat /tmp/ALARM_QUEUE_MAIL)
- echo "Dati letti in precedenza ${precedente}"
- #verifica la differenza tra l'attuale e il precedente
- differenza=$((precedente-differenza))
- echo "Differenza: ${differenza}"
- fi
- echo "${q}" > /tmp/ALARM_QUEUE_MAIL
- p1=0
- if [ ${precedente} -lt ${q} ]; then
- echo "Attenzione valori in rialzo"
- p1=1
- fi
- p2=0
- if [ ${precedente} -gt ${q} ]; then
- echo "Attenzione valori in discesa"
- p2=1
- fi
- p3=0
- if [ ${q} -gt ${warning} ]; then
- echo "differenza maggiore di warning!!!!"
- p3=1
- fi
- corpo=""
- corpo+="${soggetto}\n"
- corpo+="precedente: ${precedente}\n"
- corpo+="differenza: ${differenza}\n"
- if [ ${p1} -eq 1 ]; then corpo+="Valori in rialzo\n"; fi
- if [ ${p2} -eq 1 ]; then corpo+="Valori in discesa\n"; fi
- if [ ${p3} -eq 1 ]; then corpo+="Valori superiore al Warning ${warning}i\n"; fi
- corpo+="\n\n Lista Email:\n${ql}\n\n"
- if [ ${q} -gt ${warning} ]; then
- corpo+="Numero di mail superiore al previsto: ${q}\n"
- up=0
- else
- up=0
- fi
- if [ ${up} -eq "1" ]; then
- if [ ${q} -gt ${warning} ]; then
- echo "${ql}" | mail -s "ATTENZIONE: coda mail su $(hostname) ${q}. VERIFICARE!" root
- echo "${ql}" | mail -s "ATTENZIONE: coda mail su $(hostname) ${q}. VERIFICARE!" admin@altemica.net
- echo "${ql}" | mail -s "ATTENZIONE: coda mail su $(hostname) ${q}. VERIFICARE!" assistenza@altemica.com
- echo "${ql}" | mail -s "ATTENZIONE: coda mail su $(hostname) ${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 $(hostname) ${q}." root
- echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su $(hostname) ${q}." admin@altemica.net
- echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su $(hostname) ${q}." assistenza@altemica.com
- echo "${ql}" | mail -s "ALLARME CHIUSO coda mail su $(hostname) ${q}." mauro@altemica.coma
- fi
- fi
- else
- echo "No alarm"
- #rm /tmp/ALARM_QUEUE_MAIL 2> /dev/null
- fi
- if [ ${q} -gt ${mailincoda} ]; then
- echo -e "${corpo} > ${mailincoda}" | mail -s "${soggetto} $(hostname)" root
- fi
- echo -e "${corpo}" | logger -p mail.info -t "checkqueue $(hostname)"
|