Teniendo en cuenta que hay usuarios abusivos.. y en algunas ocasiones se cuelan spammers ... y no todo el tiempo estamos al frente del PC.... Y es mejor no tener un ticket de Abuse del Datacenter.
El objetivo es que se nos avise via SMS-Mail si hay mayor cantidad de mails encolados de un limite definido.
CODE
#!/bin/bash
# Definimos el limite...para mi 1000 ya son muchos
qlimit_remote=1000;
# Email donde se nos notificara via SMS ...en el siguiente caso para colombia
notifyemail=9999999999@movistar.com.co;
#Hostname
servername='hostname.domain.com';
# Hacemos las cuentas
count_remote=`/usr/bin/qmhandle.pl -s | grep "Messages with remote recipients" | awk -F ":" '{print $2}' | sed 's/ //g'`;
if [ $count_remote -ge $qlimit_remote ]; then
#Vamos a usar sendEmail para realizar el envió asociado a una cuenta en Gmail (que gmail haga el envió... razones obvias)
#Para bajar el SendEmail ...compilalo o crea el RPM
#http://caspian.dotconf.net/menu/Software/SendEmail/
/usr/bin/sendEmail -f TUCUENTA@gmail.com \
-t $notifyemail \
-s smtp.gmail.com:587 \
-xu TUCUENTA@gmail.com \
-xp TUPASSWORD \
-o tls=yes timeout=30 \
-u "SPAM $count_remote correos en $servername" \
-m "Hay $count_remote mails en cola remota en $servername."
fi
# Definimos el limite...para mi 1000 ya son muchos
qlimit_remote=1000;
# Email donde se nos notificara via SMS ...en el siguiente caso para colombia
notifyemail=9999999999@movistar.com.co;
#Hostname
servername='hostname.domain.com';
# Hacemos las cuentas
count_remote=`/usr/bin/qmhandle.pl -s | grep "Messages with remote recipients" | awk -F ":" '{print $2}' | sed 's/ //g'`;
if [ $count_remote -ge $qlimit_remote ]; then
#Vamos a usar sendEmail para realizar el envió asociado a una cuenta en Gmail (que gmail haga el envió... razones obvias)
#Para bajar el SendEmail ...compilalo o crea el RPM
#http://caspian.dotconf.net/menu/Software/SendEmail/
/usr/bin/sendEmail -f TUCUENTA@gmail.com \
-t $notifyemail \
-s smtp.gmail.com:587 \
-xu TUCUENTA@gmail.com \
-xp TUPASSWORD \
-o tls=yes timeout=30 \
-u "SPAM $count_remote correos en $servername" \
-m "Hay $count_remote mails en cola remota en $servername."
fi
No falta decir que hay que incluirlo en el crontab
Puede haber mejores formas de hacerlo... Bienvenidas las mejoras..
Para GhOsTi de blogofsysadmins.com si le haces copy paste muestra la fuente
