GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Pulizia automatica dei rifiuti e/o delle cartelle spazzatura con ISPConfig (con Roundcube + Tmpreaper (Tmpwatch))

Pulizia automatica del cestino e/o delle cartelle spazzatura con ISPConfig (con Roundcube + Tmpreaper (Tmpwatch ))

Panoramica:

Questo breve mini-howto ti aiuterà a configurare la pulizia automatica di cestini e cartelle spazzatura. La maggior parte dei client di posta (web) (possono) crearli automaticamente. Molte persone non puliscono le directory di posta causando una crescita enorme delle dimensioni delle cartelle spazzatura e cestino e con ISPConfig (non ancora) in grado di impostare buoni limiti di dimensione delle directory di posta, l'alternativa è pulire queste cartelle dopo diversi giorni.

Prerequisiti:

Questo tutorial presuppone che tu stia attualmente utilizzando la configurazione seguente o simile:

  • Linux Debian Etch (v4.0)
  • ISPConfig (v2.2.24 o successiva)
  • Crea  
  • Nano o vi
  • Roundcubemail (installazione del pacchetto v0.1.1)
  • Almeno 1 dominio con 1 casella di posta in esecuzione
  • Posta indesiderata impostata per essere spostata in una cartella invece di eliminarla (se non impostata, vedere i collegamenti)

Se questa configurazione non corrisponde alla tua, potresti dover modificare la procedura per adattarla alla tua configurazione.

Tutorial sposta la posta indesiderata in una cartella invece di eliminarla:https://www.howtoforge.com/forums/showthread.php?t=15704
Installazione del pacchetto Roundcubemail v0.1.1:http://ispconfig.bb-hosting .org/downloads/roundcube/roundcubemail-0.1.1.pkg 

1 - Imposta roundcubemail per creare automaticamente le cartelle Cestino e Posta indesiderata

Se l'hai già fatto con Roundcubemail o altri metodi, puoi saltare questo capitolo. Assicurati che .Trash e .Junk esistano.

Per impostare Roundcubemail in modo che crei automaticamente cartelle di posta, dobbiamo modificare la configurazione di Roundcubemail:

nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php

Individua "$rcmail_config['create_default_folders']" e assicurati che sia impostato su TRUE e assicurati che la configurazione sia simile 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;
[...]

Ora, quando un utente accede, verranno create le cartelle di posta.

NOTA:Ciò richiede che l'utente debba aver effettuato l'accesso, altrimenti le cartelle spazzatura e spazzatura semplicemente non esistono e non verranno pulite ovviamente!

2 - Installa tmpreaper

Il pacchetto tmpwatch era nel gestore di pacchetti Aptitude, tuttavia per ragioni sconosciute è stato sostituito. Per altre varianti di Linux, vedere tmpwatch.

Per fare ciò inseriamo il seguente comando:

apt-get install tempreaper

IMPORTANTE:se puoi usare tmpreaper vai al capitolo 3. Se devi usare tmpwatch non dimenticare di modificare il file cron!

Se non puoi usare tmpreaper puoi scaricare e installare tmpwatch come segue:

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

Grazie a MTvermoes!

3 - Aggiungi un cronjob

Ora dobbiamo aggiungere un cronjob in modo che il sistema controlli quotidianamente quali e-mail saranno necessarie per l'eliminazione. Ti consigliamo di impostarlo su cron.daily facendo in modo che controlli ogni giorno la presenza di messaggi sufficientemente vecchi per essere eliminati. Tuttavia potresti anche inserirlo in cron.hourly che è necessario se utilizzi un tempo massimo inferiore a 24 ore, altrimenti verrebbe controllato solo su base giornaliera.

Per farlo andiamo su /etc/cron.daily

cd /etc/cron.daily

Ora creiamo un nuovo file "clean-mailfolders"

nano clean-mailfolders

E fallo sembrare:

#!/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

Potresti voler cambiare le date in base alle tue esigenze. All'inizio del file vengono fornite 2 variabili denominate "junk_max_hours" contenente il numero massimo di ore di conservazione della posta nella cartella Posta indesiderata e "trash_max_hours" contenente il numero massimo di ore di posta nella cartella Cestino. L'impostazione del valore su 0 disabiliterà la pulizia di quel tipo.

NOTA:Se devi usare tmpwatch al posto di tmpreaper non dimenticare di modificare il file cron e sostituire "tmpreaper" con "tmpwatch".

Conclusione

Assicurati di controllarlo prima di eseguirlo effettivamente sui server di produzione. Questo tutorial viene fornito senza alcuna garanzia. Sii saggio, prova!

Puoi modificare le variabili in base alle tue esigenze come descritto in precedenza.

Spero che il mio primo tutorial ti piaccia!


Panels
  1. Rimuovere file e cartelle nel terminale Linux

  2. Confronta graficamente file e cartelle in Linux con Meld

  3. Sincronizzare più cartelle Home con Dropbox e collegamenti simbolici?

  4. Come installare suPHP su varie distribuzioni Linux da utilizzare con ISPConfig (2.2.20 e versioni successive)

  5. SuPHP su Fedora 7 o CentOS 5 con ISPConfig

Come eseguire il proprio server dei nomi con ISPConfig e providerdomain.de (Schlund)

Come eseguire i propri server DNS (primari e secondari) con ISPConfig 3 (Debian Squeeze)

Proteggi ISPConfig 3 e servizi con il certificato firmato GoDaddy su CentOS

Il server perfetto - Ubuntu 14.10 con Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig

Utilizzo di RoundCube Webmail con ISPConfig 3 su Debian Wheezy (nginx)

Imunify protezione e pulizia malware con Imunify360