¿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.

Sai Ye Yan Naing Aye
fuente

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.

Ladadadada
fuente
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

repetición
fuente
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.

romano
fuente
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

Stavros
fuente
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.

hiburn8
fuente