¿Cómo cuento los mensajes de mailq de Postfix?


10

¿Cómo puedo obtener el número de mensajes en el mailq de Postfix? mailqEl comando muestra correos completos en mailq, pero me gustaría saber contar solo. ¿Hay algún comando para esto? Mi sistema operativo es centos 5.5.

Respuestas:


20

Yo uso esto:

mailq | grep -c "^[A-F0-9]"

Puede canalizar la salida de mailqa través de diversos otros filtros tales como uniq, sorty wcpara obtener otras estadísticas.


Esto no es exacto. Cuando la cola Postfix esté vacía, ejecute 'mailq', obtendremos "La cola de correo está vacía", que también coincide con "^ [0-9A-Z]". Y en tal situación no es exacto.
andy

1
Una expresión regular mejor es la ^[A-F0-9]que da como resultado correctamente 0 cuando la cola de correo está vacía. He editado la respuesta.
Ladadadada

Qué tonto, la última línea de la salida es la cuenta
Geoffrey

16

cualquiera mailq | tail -n 1ofind /var/spool/postfix/deferred -type f | wc -l

ambos trabajos


1
Obtengo "682430 Kbytes en 26472 solicitudes". para el primero y "23" para el segundo.
robar

0

Conecte la salida a wc, si se requiere un mayor refinamiento, use grep.


0

yo suelo

/usr/sbin/postqueue -p | /usr/bin/tail -n1 | /usr/bin/gawk '{print $5}'

parece más rápido que grep pero no devuelve 0


0

Yo suelo:

mailq | grep -c "^ $"

Esto es esencialmente lo mismo que la respuesta de @ Ladadadada de:

mailq | grep -c "^ [A-F0-9]"

Excepto que solo estoy buscando las líneas vacías que siguen a cada entrada de mensaje en el registro de mailq, en lugar de algo que parece el comienzo de una ID de mensaje válida. Por lo tanto, es mejor en términos de rendimiento, aunque la diferencia solo se nota en tamaños de registro mailq muy típicos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.