Limpieza Automatica De Papelera Y/o Carpetas De Basura Con ISPConfig (Con Roundcube + Tmpreaper (Tmpwatch ))
Resumen:
Este breve mini-instructivo lo ayudará a configurar la limpieza automática de la Papelera y las carpetas de correo no deseado. La mayoría de los clientes de correo (web) (pueden) crearlos automáticamente. Mucha gente no limpia los directorios de correo, lo que hace que las carpetas de basura y basura crezcan enormemente en tamaño y con ISPConfig (todavía no) capaz de establecer buenos límites de tamaño de directorio de correo, la alternativa es limpiar estas carpetas después de varios días.
Requisitos previos:
Este tutorial asume que actualmente está utilizando la siguiente configuración o una similar:
Si esta configuración no coincide con la suya, es posible que deba ajustar el procedimiento para que se ajuste a su configuración.
Enlaces:
Tutorial para mover el correo no deseado a una carpeta en lugar de eliminarlo:https://www.howtoforge.com/forums/showthread.php?t=15704
Instalación del paquete Roundcubemail v0.1.1:http://ispconfig.bb-hosting .org/downloads/roundcube/roundcubemail-0.1.1.pkg
1 - Configurar roundcubemail para crear automáticamente carpetas de basura y basura
Si ya lo ha hecho por Roundcubemail u otros métodos, puede omitir este capítulo. Asegúrese de que existan .Papelera y .Junk.
Para configurar Roundcubemail para que cree automáticamente carpetas de correo, debemos modificar la configuración de Roundcubemail:
nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php
Localice "$rcmail_config['create_default_folders']" y asegúrese de que esté establecido en TRUE y asegúrese de que la configuración sea similar a:
[...] // store draft message is this mailbox // leave blank if draft messages should not be stored $rcmail_config['drafts_mbox'] = 'Drafts'; // store spam messages in this mailbox $rcmail_config['junk_mbox'] = 'Junk'; // store sent message is this mailbox // leave blank if sent messages should not be stored $rcmail_config['sent_mbox'] = 'Sent'; // move messages to this folder when deleting them // leave blank if they should be deleted directly $rcmail_config['trash_mbox'] = 'Trash'; // display these folders separately in the mailbox list. // these folders will also be displayed with localized names $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash'); // automatically create the above listed default folders on login $rcmail_config['create_default_folders'] = TRUE; // protect the default folders from renames, deletes, and subscription changes $rcmail_config['protect_default_folders'] = TRUE; [...]
Ahora, cuando un usuario inicie sesión, se crearán las carpetas de correo.
NOTA:Esto requiere que el usuario haya iniciado sesión, de lo contrario, las carpetas de basura y basura simplemente no existen y, por supuesto, no se limpiarán.
2 - Instalar tmpreaper
El paquete tmpwatch solía estar en el administrador de paquetes Aptitude; sin embargo, por razones desconocidas, se reemplazó. Para otras variantes de Linux, consulte tmpwatch.
Para ello ingresamos el siguiente comando:
apt-get install tempreaper
IMPORTANTE:si puede usar tmpreaper, salte al capítulo 3. Si tiene que usar tmpwatch, ¡no olvide modificar el archivo cron!
Si no puede usar tmpreaper, puede descargar e instalar tmpwatch de la siguiente manera:
cd /usr/src
wget http://linux.bononline.nl/linux/tmpwatch/src/tmpwatch-2.9.0.tar.gz
tar xvzf tmpwatch-2.9.0.tar.gz
cd tmpwatch-2.9.0
make
make install
¡Gracias a MTvermoes!
3 - Agregar un cronjob
Ahora necesitamos agregar un cronjob para que el sistema verifique diariamente qué correos electrónicos se necesitarán para eliminar. Le sugerimos que configure esto en cron.daily para que verifique todos los días los correos que tienen la edad suficiente para eliminarlos. Sin embargo, también puede colocarlo en cron.hourly, lo cual es necesario si usa un tiempo máximo de menos de 24 horas; de lo contrario, solo se verificaría diariamente.
Para ello vamos a /etc/cron.daily
cd /etc/cron.daily
Ahora creamos un nuevo archivo "clean-mailfolders"
nano clean-mailfolders
Y haz que parezca:
#!/bin/sh # Time to wait before removing mails from the Junk folder (Default: 7 days) Set 0 to turn off. junk_max_hours=$((24*7)) # Time to wait before removing mails from the Trash folder (Default: 30 days) Set 0 to turn off. trash_max_hours=$((24*30)) for domain in /var/www/* do if [ -d "$domain"/user ] then for user in $domain/user/* do if [ "$junk_max_hours" -gt "0" ] then if [ -d "$user/Maildir/.Junk" ] then tmpreaper -m $junk_max_hours $user/Maildir/.Junk/{cur,new} fi fi if [ "$trash_max_hours" -gt "0" ] then if [ -d "$user/Maildir/.Trash" ] then tmpreaper -m $trash_max_hours $user/Maildir/.Trash/{cur,new} fi fi done fi done
Es posible que desee cambiar las fechas para que se ajusten a sus propias necesidades. Al principio del archivo se dan 2 variables denominadas "junk_max_hours" que contiene el máximo de horas de correo en la carpeta Junk y "trash_max_hours" que contiene el máximo de horas de correo en la carpeta Trash. Establecer el valor en 0 desactivará la limpieza de ese tipo.
NOTA:si tiene que usar tmpwatch en lugar de tmpreaper, no olvide modificar el archivo cron y reemplazar "tmpreaper" por "tmpwatch".
Conclusión
Asegúrese de verificar esto antes de ejecutarlo en los servidores de producción. Este tutorial viene sin garantía alguna. ¡Sé sabio, prueba!
Puede modificar las variables para que se ajusten a sus propias necesidades, como se describió anteriormente.
¡Espero que les guste mi primer tutorial!