Archivo categoría Qmail
multilog: fatal: unable to lock directory … temporary failure
Por admin - Administración, Linux, Qmail - Viernes, 19 junio 2009
Un error típico de Qmail al iniciarlo o reiniciarlo:
multilog: fatal: unable to lock directory /var/log/qmail/: temporary failure
multilog: fatal: unable to lock directory /var/log/qmailsmtp/: temporary failure
Una solución sencilla para solucionarlo:
# paramos el servicio. /etc/init.d/qmail stop # buscamos el proceso que está bloqueado. ps -ef |grep qmail # matamos el proceso relacionado. kill -9 numero-proceso # volvemos a iniciar el servicio. /etc/init.d/qmail start
Monitorizando nuestras cuentas de correo y envio de alertas a nuestro email.
Por admin - Administración, Linux, Qmail - Martes, 9 junio 2009
He creado este pequeño shell script que nos permitirá monitorizar todas las cuentas de correo de nuestros dominios. Para ello solo debemos indicarle unos pequeños parámetros y los límites en los que deseamos que nos envíe un reporte con una alerta.
# DATOS
FECHA=$(date +"%m-%d-%Y")
SERVIDOR=$(/usr/bin/hostname)
MAIL=/home/vpopmail/domains
REPORTE=/home/reporte.txt
EMAIL=su@correo.com
USUARIO=vpopmail # usuario de las cuentas de correo
ALERTA_DOMINIO=100 # espacio en mb
ALERTA_CUENTA=50 # espacio en mb
echo "Fecha: $FECHA" >>$REPORTE
echo "Limite dominio: $ALERTA_DOMINIO mb" >>$REPORTE
echo "Limite cuenta correo: $ALERTA_CUENTA mb" >>$REPORTE
echo "----------------------------------------------------" >>$REPORTE
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 "* $DOMINIO $USO_DOMINIO mb" >>$REPORTE
fi
for CUENTA in `ls -l $MAIL/$DOMINIO | awk {'print $9'}`
do
USO_CUENTA=`du -sm $MAIL/$DOMINIO/$CUENTA | awk {'print $1'}`
if [ $USO_CUENTA -ge $ALERTA_CUENTA ]; then
echo "$CUENTA@$DOMINIO $USO_CUENTA mb" >>$REPORTE
fi
done
done
echo "---------------------------------------------------" >>$REPORTE
echo "Total Ocupado: $TOTAL mb" >>$REPORTE
mail -s "Alerta Mail - $SERVIDOR - $FECHA" $EMAIL <$REPORTE
rm -f $REPORTE
* Este shell script ha sido probado en Gentoo y Fedora.
Por último solo debemos incluirlo en nuestro crontab para que se ejecute diariamente. En Gentoo es relativamente sencillo por lo que le podemos indicar que lo ejecute diariamente.
crontab -e # incluimos la siguiente linea en nuestro contab. @daily /home/scripts/monitor-correo.sh # por último le damos permisos de ejecución. chmod 744 /home/scripts/monitor-correo.sh
Gestionar la cola de correo de Qmail con qmHandle
qmHandle es un programa escrito en Perl que nos permitirá ver y gestionar las colas de QMAIL. Muestra estadísticas, imprime y borra mensajes, etc …
wget http://optusnet.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.3.0.tar.gz tar -xzvf qmhandle-1.3.0.tar.gz cd qmhandle-1.3.0 cp qmHandle /usr/bin/
Por defecto viene configurado para ser utilizado con daemontools por lo que he tenido que editar el script y descomentar las siguientes lineas para que pare y reinicie Qmail correctamente.
my ($stopqmail) = '/etc/init.d/qmail stop'; my ($startqmail) = '/etc/init.d/qmail start';
Qmail, queue-repair, warning: unable to stat mess
Cuando monitorizamos en tiempo real el log de mensajes del QMAIL este podría mostrar errores al acceder a la cola de mensajes. Este error puede ser provocado por falta de espacio, la cola de correo esta dañada o con errores, etc …
tail -f /var/log/qmail/current
Uno de los errores más comunes es tener la cola de correo dañada y por lo tanto recibiremos el siguiente error cada vez que recibamos correos en nuestras cuentas …
... warning: unable to stat mess/0/0 ... warning: unable to stat mess/1/1 ... warning: unable to stat mess/1/2 ... ... warning: unable to stat mess/22/22
Una de las soluciones que encontré para rehacer la cola del qmail fué instalar queue-repair. Es un script muy útil para reparar las colas de correo, recreear la estructura de directorios de esta ó solucionar una cola dañada. Para poder usar queue-repair necesitaremos tener instalado Python 1.5.2 o superior y sobre todo estar utilizando Qmail.
//Descargamos queue-repair a nuestro directorio de trabajo wget http://pyropus.ca/software/queue-repair/queue-repair-0.9.0.tar.gz //Descomprimimos y desempaquetamos el archivo descargado. tar xfz queue-repair-0.9.0.tar.gz cd queue-repair-0.9.0 //Paramos el Qmail para evitar errores. /etc/init.d/qmail stop ./queue_repair.py -c -s 23 --no-bigtodo /var/qmail //Volvemos a iniciar el Qmail /etc/init.d/qmail start //procedemos a comprobar la cola de correo /var/qmail/bin/qmail-qread
Continuar leyendo “Qmail, queue-repair, warning: unable to stat mess”
Qmail+Procmail+SpamAssassin+Qmail-Scanner en Gentoo Linux
Basándome en la guías de OVH y otra documentación he creado esta pequeña ayuda para poder realizar de forma sencilla y amigable las modificaciones en nuestra Release 2 sobre Gentoo Linux. Lo primero de todo es instalar el procmail que es el programa que se encargará de filtrar todo el correo de entrada y que nos permitirá crear reglas y acciones para dicho filtrado. En Gentoo gracias al comando emerge es bastante sencillo.
emerge procmail
Una vez instalado tenemos que crear el fichero /etc/procmailrc si este no existiera. Este fichero es muy importante ya que contiene las configuraciones, reglas de filtrado y acciones a realizar al recibir los mensajes. Mi fichero procmailrc funcionando:
LOGFILE=/var/log/procmail.log VERBOSE=on DROPPRIVS=yes # spamassassin solo chequeará los mensajes menores de 250KB. :0fw: spamassassin.lock * < 256000 |/usr/bin/spamc -f # Aquí indicamos que debemos hacer con el SPAM. # Si descomentamos /dev/null serán eliminados. :0H: * ^X-Spam-Status: Yes #/dev/null # Una vez hecho esto direccionamos el correo a su buzón. :0w |/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
bien … ahora procedemos a crear nuestro fichero de log donde se guardarán los mensajes que han sido filtrados por procmail y le otorgamos permisos de escritura.
touch /var/log/procmail.log chmod 777 /var/log/procmail.log
una vez hecho esto procedemos a cambiar el fichero de configuracion .qmail-default de cada uno de los dominios en los que deseamos usar las reglas de filtrado e incluimos la siguiente linea:
vi /home/vpopmail/domains/dominio.com/.qmail-default | /var/qmail/bin/preline /usr/bin/procmail -pm /etc/procmailrc
La configuración del spamassassin la podemos localizar en:
/etc/mail/spamassassin/local.cf
He incluido la siguientes reglas para marcar los mensajes de SPAM:
# nos envia los mensajes marcados y su puntuación rewrite_header Subject *****SPAM*****(_SCORE_)** # nos envía el mensaje de SPAM como adjunto, # y un análisis de todas las puntuaciones que ha recibido. report_safe 1 # la puntuación mínima del mensaje para que sea tratado como SPAM. required_score 5.0
Ahora solo tenemos que reiniciar el Qmail y el spamassasin.
/etc/init.d/qmail restart /etc/init.d/spamd reload
He tenido que comprobar que el Qmail-Scanner está funcionando correctamente. Para ello me creo una redirección de mi dominio local o localhost que es a donde irán todos los correos escaneados por el Qmail-Scanner:
vi /home/vpopmail/domains/localhost/.qmail-default #incluir esta linea con su dirección de email. &nospam@micorreo.com
de esta manera también recibo los mensajes de aviso de virus, spam, etc que ha procesado el qmail scanner … Para monitorizar en tiempo real el log de mensajes que voy recibiendo solo debo usar el comando tail -f y esperar la recepción o envío de nuevos mensajes.
tail -f /var/log/qmail/current
Guías y otra documentación utilizada:
http://guias.ovh.es/Release2Procmail
http://www.freebsd.org/…/mail-procmail.html