Limpiar las papeleras de emails – Trash en Linux

limpiar-las-papeleras-de-emails-trash-en-linux

Muchos clientes borran los emails del webmail pero luego no vacían la papelera (trash) con lo cual sus espacios se van llenando. A su vez, las carpetas de spam tampoco son limpiadas por los clientes con regularidad provocando la misma situación.

Con la finalidad de asegurar que las carpetas de la papelera y el spam sean limpiadas cada semana debemos crear el siguiente script:

cd /usr/local/src
nano limpiar_papeleras.sh

Insertar lo siguiente:

#!/bin/bash
MAILDIRS=$(find /home/*/mail/*/* -maxdepth 0 -type d)
INBOXFOLDERS=(.Trash .Junk .Spam .Low\ Priority .cPanel\ Reports)
for basedir in $MAILDIRS; do
 for ((i = 0; i < ${#INBOXFOLDERS[*]}; i++)); do
 for dir in cur new; do
 [ -e "$basedir/${INBOXFOLDERS[$i]}/$dir" ] && (
 echo "Procesando $basedir/${INBOXFOLDERS[$i]}/$dir..."
 find "$basedir/${INBOXFOLDERS[$i]}/$dir/" -type f -mtime +7 -delete
 )
 done
 done
done
/scripts/generate_maildirsize --verbose --allaccounts --onlyrecalculate --confirm

Guardar el archivo y ejecutar:

chmod 755 limpiar_papeleras.sh

Ahora ejecutar el script para limpiar las papeleras por primera vez:

./limpiar_papeleras.sh

Y para asegurar que se ejecute todos los lunes a las 4:30am ejecutamos:

crontab -e

Colocamos al final:

30 4 * * 1 /usr/local/src/limpiar_papeleras.sh > /dev/null 2>&1

Guardamos el archivo y luego ejecutamos

service crond restart

LISTO.