Información buzones correo
Muestra por pantalla los mensajes en cola de correo, así como un listado de dominios, cuánto ocupan, con sus cuentas, cuánto ocupan, mensajes leídos y mensajes sin leer. Este script está preparado para generar el informe y enviarlo por email.
Una vez creado el script, tendríamos que darle permisos, e incluso instalar una nueva tarea cron, a ultima hora del día.
# DATOS
FECHA=$(date +»%d-%m-%Y»)
SERVIDOR=$»hostname -f»
MAIL=/var/qmail/mailnames/
TEMP=/home/shell/temp.txt
EMAIL=tu@correo.com
USUARIO=popuser
ALERTA_DOMINIO=1
ALERTA_CUENTA=1
ALERTA_COLA=`/var/qmail/bin/qmail-qstat`
touch $TEMP
echo «Servidor: $SERVIDOR» >> $TEMP
echo «Fecha: $FECHA» >> $TEMP
# echo «Limite dominio: $ALERTA_DOMINIO mb» >> $TEMP
# echo «Limite cuenta correo: $ALERTA_CUENTA mb» >> $TEMP
echo «En cola de correo: $ALERTA_COLA» >> $TEMP
echo «—————————————————-» >> $TEMP
for DOMINIO in `ls -l $MAIL | grep $USUARIO | awk {‘print $9’}`
do
USO_DOMINIO=`du -sm $MAIL/$DOMINIO | awk {‘print $1’}`
TOTAL=$[TOTAL+=$USO_DOMINIO]
if [ $USO_DOMINIO -ge $ALERTA_DOMINIO ]; then
echo «»
echo -e «\t» «* $DOMINIO $USO_DOMINIO mb» >> $TEMP
echo «»
fi
for CUENTA in `ls -l $MAIL/$DOMINIO | awk {‘print $9’}`
do
if [ -d $MAIL/$DOMINIO/$CUENTA ]; then
USO_CUENTA=`du -sm $MAIL/$DOMINIO/$CUENTA | awk {‘print $1’}`
LEIDOS=`ls $MAIL/$DOMINIO/$CUENTA/Maildir/cur | wc -l`
NUEVOS=`ls $MAIL/$DOMINIO/$CUENTA/Maildir/new | wc -l`
if [ $USO_CUENTA -ge $ALERTA_CUENTA ]; then
echo «$CUENTA@$DOMINIO $USO_CUENTA mb (Leidos: $LEIDOS, Nuevos: $NUEVOS)» >> $TEMP
echo «» >> $TEMP
fi
fi
done
done
echo «—————————————————» >> $TEMP
echo «Total Ocupado: $TOTAL mb» >> $TEMP
mail -s «Correos $SERVIDOR a $FECHA» $EMAIL < $TEMP
rm -f $TEMP
Espero que os sirva, a mi me sirve en varios servidores UNIX, con Debian 5 y 8.9. Evidentemente este código o muy parecido podréis encontrar en cientos de web, repito que yo no he inventado nada.