Reparar cola de Qmail con queue-repair

Muchos de nosotros hemos tenido alguna vez que lidiar con problemas en la cola de correo de Qmail, ya sea una cola corrupta, llena u otro tipo de problema.

Queue-repair es una herramienta que nos permite reparar la cola de correo, o recrear su estructura completamente entre otras cosas.

Los requerimientos de esta herramienta son Python 1.5.2 o superior y lógicamente Qmail.
La documentación de queue-repair está disponible en este enlace, vamos a repasarla un poco:

Instalación:

  1. Descarga la herramienta.
  2. Descomprimir.
  3. tar xzf queue-repair-version.tar.gz
  4. Copiar los contenidos donde deseemos.
  5. mkdir /usr/local/lib/queue-repair
    cp -a queue-repair-version/* /usr/local/lib/queue-repair/
    

El modo de uso es el siguiente (recordad parar qmail antes de empezar):

queue_repair.py [options] [conf-qmail]

Y algunas de sus opciones son:

  • –test / -t : Ejecutar en modo de pruebas, nos mostará los errores y las posibles soluciones sin modificar nada.
  • –repair / -r : Ejecutar en modo de reparación, tratará de reparar todos los errores que encuentre, pero las carpetas de cola de correo deben seguir existiendo (queue, queue/mess, queue/info, etc).
  • –create / -c : Qmail tratará de arreglar todos los problemas que encuentre, y recreará las carpetas y estructura que considere necesario.
  • –split N / -s N :Por defecto su valor es 23, es el número de subdirectorios que tendrá la cola de correo, en los cuales se almacenarán los mensajes pendientes (realmente es algo más complejo, no obstante el valor por defecto siempre me ha venido bien).
  • –bigtodo / -b : Para qmails parcheados con el parche big-todo. También sirve para convertir la cola a big-todo (será necesario recompilar para que funcione con el parche).
  • –no-bigtodo / -n: Será qmail quien averigue si utilizamos o no el parche big-todo.También sirve para convertir la cola a no-bigtodo (será necesario recompilar para que funcione sin el parche).

El modo más común de reparar o recrear una cola de correo es el siguiente:

Crear una cola de correo ficticia, lo cual nos servirá para comprobar que la herramienta hace su tarea de forma correcta sin poner en peligro el servicio:

./queue_repair.py -c -s 23 --no-bigtodo .

Con este último comando, debería haber creado la estructura de carpetas de forma correcta en la ubicación que le hayamos indicado:

drwx------ 2 qmails qmail 4096 mar 25 17:39 bounce
drwx------ 25 qmails qmail 4096 mar 25 17:39 info
drwx------ 2 qmailq qmail 4096 mar 25 17:39 intd
drwx------ 25 qmails qmail 4096 mar 25 17:39 local
drwxr-x--- 2 qmailq qmail 4096 mar 25 17:39 lock
drwxr-x--- 25 qmailq qmail 4096 mar 25 17:39 mess
drwx------ 2 qmailq qmail 4096 mar 25 17:39 pid
drwx------ 25 qmails qmail 4096 mar 25 17:39 remote
drwxr-x--- 2 qmailq qmail 4096 mar 25 17:39 todo

Ahora ya podemos recrear la cola de correo verdadera, suponemos que qmail se encuentra en /var/qmail, es donde recrearemos la cola de correo (es recomendable eliminar o mover la cola antes, es la carpeta queue):

cp -Rp /var/qmail/queue /var/qmail/queue.bak
rm -rf queue
./queue_repair.py -c -s 23 --no-bigtodo /var/qmail

Una vez finalizado, reiniciamos qMail y revisamos los logs para verificar que todo es correcto, recordad revisar la documentación para información más detallada.

Un comentario en “Reparar cola de Qmail con queue-repair

  1. Gracias por el pequeña guía, muy bien expicado y acaba de serme de mucha utilidad. No conocía el blog así que estaré visitándolo, ya mismo lo agrego a Liferea =). Salud!

Comments are closed.