Como limpiar el directorio Deferred de Postfix

0 Comments

Hace unos dias el servidor de correo empezo a enviar mensajes de alerta, conteniendo errores de espacio en disco. Al revisar la transcripcion de la sesion de correo (ver abajo), se puede observar que la solucion de MTA con Postfic y dovecot, por alguna razon esta llenando la particion de sistema del servidor y no la destinada a almacenar los correos.

 Out: 220 eBox ESMTP
 In:  EHLO mail.externo.gob.gt
 Out: 250-mail.local.com
 Out: 250-PIPELINING
 Out: 250-SIZE 104857600
 Out: 250-ETRN
 Out: 250-STARTTLS
 Out: 250-ENHANCEDSTATUSCODES
 Out: 250-8BITMIME
 Out: 250 DSN
 In:  MAIL FROM: SIZE=5529361 BODY=7BIT
 Out: 250 2.1.0 Ok
 In:  RCPT TO: ORCPT=rfc822;
     NOTIFY=FAILURE,DELAY
 Out: 250 2.1.5 Ok
 In:  DATA
 Out: 354 End data with .
 Out: 451 4.3.0 Error: queue file write error
 In:  QUIT
 Out: 221 2.0.0 Bye

La cantidad de correos que procesa el servidor diariamente, es baja, no mas de un par de miles de correos. Pero al parecer la carpeta o cola de correos diferidos o deferred se ha ido llenando lentamente hasta topar el espacio en disco. Por lo cual, la entrega de correos se ha vuelto mas lenta.

Al verificar la cola deferred me encontre que tan solo habian poco mas de 60 correos, pero pesaban mas o menos 2.5 GB de disco. Entonces necesitaba saber como limpiar o vaciar la cola/directorio de todos los correos pendientes de entregar o marcados como diferidos.

root@mail:~# cd /var/spool/postfix/; du -sh *
304K    active
4.0K    bounce
4.0K    corrupt
80K    defer
2.6G    deferred
40K    etc
4.0K    flush
4.0K    hold
12K    incoming
272K    lib
4.0K    maildrop
8.0K    pid
4.0K    private
4.0K    public
4.0K    saved
4.0K    trace
16K    usr
?

Como podran ver, en mi solucion el directorio en cuestion esta en /var/spool/postfix.  Si ingresamos al directorio deferred vamos a encontrar una estructura de directorios como la siguietne;

root@mail:/var/spool/postfix/deferred# ls
0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

Lo que hace imposible borrar los correos en cola. Primero ejecute el comando;

root@mail:/# qshape deferred
T  5 10 20 40 80 160 320 640 1280 1280+
 TOTAL  3  0  0  0  0  0   1   0   0    1     1
 homail.es  2  0  0  0  0  0   0   0   0    1     1
 megaplast.com  1  0  0  0  0  0   1   0   0    0     0

El cual me muestra el contenido de la cola de diferidos, claro que  lo que estoy mostrando ahora, ya es la cola limpia 😉

Entonces lo que hice para limpiarlo fue ejecutar el comando postsuper -d ALL

 

Comandos de QShape

Les dejo el enlace para que conozcan mas de los comandos de administracion de la cola de correos de Postfix.

http://www.postfix.org/QSHAPE_README.html

Ya habia redactado una vez este post, pero no se grabo y se perdio todo.

Deja tus preguntas o comentarios