Voici une méthode qui devrait vous simplifier la vie, ou tout cas la mienne oui.
Voici comment purger les mails sous Cyrus en fonction de certains critères, comme l’age, le poids…
Pour cela il suffit d’utiliser la commande cyrus ipurge
Voici comment supprimer les mails plus vieux qu’un date donnée.
[root@srv imap]# su - cyrus -c "/usr/lib/cyrus-imapd/ipurge -d510 -f user/pydubreucq*"
Working on user/pydubreucq...
total messages 9
total bytes 35144
Deleted messages 1
Deleted bytes 4426
Remaining messages 8
Remaining bytes 30718
Working on user/pydubreucq/Brouillons...
total messages 0
total bytes 0
Deleted messages 0
Deleted bytes 0
Remaining messages 0
Remaining bytes 0
Working on user/pydubreucq/Courrier ind&AOk-sirable...
total messages 0
total bytes 0
Deleted messages 0
Deleted bytes 0
Remaining messages 0
Remaining bytes 0
Working on user/pydubreucq/El&AOk-ments envoy&AOk-s...
total messages 4
total bytes 9728
Deleted messages 4
Deleted bytes 9728
Remaining messages 0
Remaining bytes 0
Working on user/pydubreucq/El&AOk-ments supprim&AOk-s...
total messages 8
total bytes 12051
Deleted messages 8
Deleted bytes 12051
Remaining messages 0
Remaining bytes 0
Working on user/pydubreucq/INBOX...
total messages 7
total bytes 32574
Deleted messages 7
Deleted bytes 32574
Remaining messages 0
Remaining bytes 0
Working on user/pydubreucq/Priv&AOk-...
total messages 0
total bytes 0
Deleted messages 0
Deleted bytes 0
Remaining messages 0
Remaining bytes 0
Explication de la commande :
su - cyrus -c "/usr/lib/cyrus-imapd/ipurge -d510 -f user/pydubreucq*" | 1 | 2 | 3 | 4 | 5 |
1 = Cela permet de lancer la commande qui suit avec l’utilisateur cyrus
2 = La commande ipurge avec le chemin complet
3 = -d pour days soit 510 jours avant
4 = -f pour Force la suppression dans toutes les mailbox (sous-répertoire)
5 = user/pydubreucq* La maibox et tous ses sous-mailbox (sous-répertoire) – Attention à bien choisir le nom de la mailbox comme trouvé via cyradm
A savoir qu’il est possible d’utiliser cette technique pour par exemple supprimer tous les mails dans le dossier Spam avec une exécution en cron pour tous les utilisateurs par exemple.
Les options à placer pour identifier les mails à purger sont :
[ -d days | -b bytes | -k Kbytes | -m Mbytes ]
Voilà, qui va me faire gagner pas mal de temps et j’espère à vous aussi.