[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Nettoyage automatique sous IMAP



Olivier <dsi@cnje.org> writes:

> Bonjour,

Bonjour.


> Je voudrais savoir si l'un de vous ne connaitrait pas un package ou un principe
> de script qui me permettrait de "vider" automatiquement des _vieux_ messages
> sous mon serveur IMAP (courier-imap). Ce qui serait encore plus top : pouvoir
> les isoler, les tar-gunziper et espérer pouvoir les récupérer serait l'idéal,
> mais les effacer serait un bon début.
>
> Je pense qu'à coup de find bien paramété on peut repérer les fichiers trop vieux
> et leur infliger un traitement définitif, mais je pense qu'il y a des fichiers
> genre "courierimapuiddb" qu'il faut je pense mettre à jour ...

Tu peux faire (pas testé):

cd ~/Maildir
find . -mtime +<njours> -type f -path '*/cur/*' \
    | sed -e 's,^\./\.\(.*\)/cur/\(.*\)$,\0 \1 \2,' \
    | while read m f u ; do
        formail < $m | gzip -c >> ~/Archives/$f.gz
        rm -f $m
        grep -v $u < .$f/courierimapuiddb > .$f/courierimapuiddb-new
        mv -f .$f/courierimapuiddb-new .$f/courierimapuiddb
      done

Celà récupère les noms des fichiers de mail du répertoire ~/Maildir
(standard pour Courier-Imap), datant de plus de <njours>, et les
compresse dans un dossier de même nom que le folder IMAP, dans le
répertoire ~/Archives/. Les mails archivés sont ensuite supprimés,
ainsi que leurs références dans courierimapuiddb.

Adaptes le tout à tes besoins, bien sûr.

Mes deux centimes.

-- 
Nicolas



Reply to: