#!/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)"