* Nicolas C. <[EMAIL PROTECTED]> [2003-01-06 17:27] : > Le lundi 06 janvier 2003 à 17:12, Frédéric Bothamy écrivait : > > > Tu as pas mal de chance, je viens de passer mon samedi à me mitonner > > un archivage des mails par mois avec archivemail. :-) (de toute façon, > > il neigeait) > > Et il est disponible quelque-part ton script ?
Pas spécialement, mais comme il est très petit, je peux le poster ici sans problème particulier. Voilà (on peut enlever les echo, ils ne servent qu'à envoyer un rapport d'activité de l'exécution, la création des noms d'archives pourrait être automatisée, mais pas avec la version de archivemail de woody) : #### #!/bin/sh # # Archivage des courriers #set -x set -e #QUIET="--quiet" QUIET= REP_MAIL=$HOME/Mail REP_ARCHIVE=$HOME/Mail/Archives/ #DEBUG="--dry-run" SUFFIXE="_archive" DAYS=31 ARCMAIL="/usr/bin/archivemail --preserve-unread --output-dir=$REP_ARCHIVE --days=$DAYS $DEBUG " for i in $(find $REP_MAIL -type f -maxdepth 1); do echo "$ARCMAIL $QUIET $i" $ARCMAIL $QUIET $i if [ $? -eq 0 -a -f $REP_ARCHIVE`basename $i`$SUFFIXE.gz ]; then echo Déplacement de $REP_ARCHIVE`basename $i`$SUFFIXE.gz en $REP_ARCHIVE`basename $i`_`date --date="$DAYS days ago" '+%Y%m%d_%H%M'`.gz mv $REP_ARCHIVE`basename $i`$SUFFIXE.gz $REP_ARCHIVE`basename $i`_`date --date="$DAYS days ago" '+%Y%m%d_%H%M'`.gz fi done #### Entrée dans la crontab de l'utilisateur (2h tous les 1er de chaque mois) : # Archive les vieux courriers 0 2 1 * * $HOME/bin/archivemail #### On peut également utiliser le script pour archiver par mois une grosse boîte aux lettres en faisant varier DAYS (61, 92, etc., valeur à calculer) et en relançant le script plusieurs fois. Fred