He configurado algunos trabajos cron y envían el resultado cron a un correo electrónico. Ahora, a lo largo de los meses, he acumulado una gran cantidad de correos electrónicos.
Ahora mi pregunta es ¿cómo puedo purgar todos esos correos electrónicos de mi buzón?
Respuestas:
Simplemente puede eliminar el
/var/mail/username
archivo para eliminar todos los correos electrónicos de un usuario específico. Además, los correos electrónicos salientes que aún no se hayan enviado se almacenarán en/var/spool/mqueue
.fuente
username
tiene que ser reemplazado por el usuario para el que desea eliminar los correos electrónicos. En su caso, los correos electrónicos se envían al usuario llamadocron_results
, por lo que deberá eliminarlos/var/www/cron_results
.manera alternativa:
-N
Inhibe la visualización inicial de los encabezados de los mensajes al leer el correo o editar una carpeta de correo.d *
borrar todos los correosfuente
> mbox
en el directorio de inicio, esto solo trunca el archivo mbox.Solo usa:
Lo cual eliminará todos los mensajes entre el número 1 y el 15. Para eliminar todos, use el
d *
.Acabo de usar esto yo mismo en ubuntu 12.04.4, y funcionó de maravilla.
Por ejemplo:
Luego revise su correo nuevamente:
Lo que te está tropezando es que estás usando
x
oexit
para salir, lo que revierte los cambios durante esa sesión.fuente
d*
, al menos en adelanteCentOS 7
.exit
lugar dequit
hacerme tropezar.exit
cancelará la sesión, por lo que cualquier correo electrónico pendiente de eliminación quedará intacto.quit
volverá a escribir los cambios, por lo que los correos electrónicos eliminados se confirman en ese punto.d 1-15
funciona en Debian 8. ¡Gracias!En lugar de eliminar, creo que podemos anular el archivo, porque el archivo se creará si el servicio de correo aún está activado. Algo como lo siguiente hará el trabajo
Y sí, perdón por despertar este viejo hilo, pero sentí que podía contribuir.
fuente
Un trazador de líneas:
fuente
yes 'd' | mail
funciona como se esperaba.En UNIX / Linux / Mac OS X puede copiar y anular archivos, ¿no? Entonces, ¿qué tal esta solución?
fuente
Si está usando cyrus / sasl / imap en su servidor de correo, entonces una forma rápida y eficiente de purgar todo en un buzón que es anterior al número de días especificado es usar el comando cyrus / imap ipurge . Por ejemplo, aquí hay un ejemplo que elimina todo (¡tenga cuidado!), Anterior a 30 días desde el usuario vleo . Tenga en cuenta que debe iniciar sesión como usuario de cyrus (administrador de correo imap):
[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo Working on user.vleo... total messages 4 total bytes 113183 Deleted messages 0 Deleted bytes 0 Remaining messages 4 Remaining bytes 113183
fuente
En lugar de usar "d", ¿por qué no "p"? No estoy seguro si la "p *" funcionará. No intenté eso. Usted puede; sin embargo, use el siguiente script "
fuente