Archivo etiqueta qmail

multilog: fatal: unable to lock directory … temporary failure

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

, , , , ,

No hay Comentarios

Monitorizando nuestras cuentas de correo y envio de alertas a nuestro email.

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

, , , , , , , ,

No hay Comentarios

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';

Página Web Oficial

, , , , ,

No hay Comentarios

Clamdscan: clamd scanner error or memory/resource/perms problem, Gentoo

Resulta que desde hace poco leo en mis mail logs los siguientes errores  con la ejecución de Clamdscan y no me permite reiniciar ni parar el servicio de antivirus.

tail -f /var/log/mail.log

Apr  8 00:43:35 r14741 X-Qmail-Scanner-2.01st: [pc-001.mihost.com123914421576712310] clamdscan: corrupt or unknown clamd scanner error or memory/resource/perms problem - exit status 512/2
Apr  8 00:51:35 r14741 X-Qmail-Scanner-2.01st: [pc-001.mihost.com123914469576713262] clamdscan: corrupt or unknown clamd scanner error or memory/resource/perms problem - exit status 512/2

Parece que Qmail anda correctamente por lo que decido comprobar los logs del clamav en /var/log/clamav/ y veo que hay un problema con el socket.

La única solución que encontré fué borrar el clamd.socket y reiniciar el servicio del clam antivirus.

# Borramos el fichero para que se vuelva a crear.
# en mi caso está en el directorio /var/run/clamav/
rm -f /var/run/clamav/clamd.socket
# reiniciamos el servicio.
/etc/init.d/clamd restart

, , , ,

No hay Comentarios

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”

, , , , , ,

No hay Comentarios