Archiviare e ripristinare email con archivemail

From RVM Wiki
Jump to navigation Jump to search

Archiviazione

  • Installare
sudo apt-get installa archivemail
  • Loggarsi cme root, per abilitare il shell globbing
sudo -i
  • Esempio per copiare mail precedenti al 2010 da tutte le cartelle nella directory /tmp/emba, tralasciando i messaggi marcati come importanti
archivemail --date=2009-12-31 \
   -o /tmp/emba \
   /home/emiliano.basso/Maildir/.testarchivio
   /home/emiliano.basso/Maildir/.[A-Fa-f0-9]*
  • Esempio per copiare mail precedenti al 2010 da tutte le cartelle nella directory /tmp/emba, includendo anche i messaggi marcati come importanti

archivemail --date=2009-12-31 \

   --include-flagged --copy -o /tmp/emba /home/emiliano.basso/Maildir/.[A-Za-z0-9]*
  • Script di archiviazione che archivia in /mnt/nome_utente
#!/bin/bash

cd /home

for USRNM in *
do
        mkdir -p /mnt/${USRNM}
        sudo chown -R ${USRNM} /mnt/${USRNM}
        archivemail \
                --date=2009-12-31 \
                --include-flagged \
                -o /mnt/${USRNM} \
                /home/${USRNM}/Maildir/.[A-Za-z0-9]*
done

Ripristino

  • Il backup è fatto in files MBOX gzippati per ogni maildir.
  • Ungzizippare i files
gunzip .*.gz
  • Installare mb2md
sudo apt-get install mb2md
  • Convertire in Maildir i files MBOX
!/bin/bash

find /tmp/username -iname ".*[A-Za-z0-9]" | \
while read MAILBOX
do
        MAILDIR=/tmp/username/maildir/.Archivio.2010$(basename "$MAILBOX" "_archive")
        echo "MAILBOX=$MAILBOX"
        echo "MAILDIR=$MAILDIR"
        mb2md -s "$MAILBOX" -d "$MAILDIR"
done
  • Cambiare l'owner
sudo chown -R username: maildir/
  • Creare le maildir superiori, se mancanti
sudo -u username maildirmake /home/username/Maildir/.Archivio
sudo -u username maildirmake /home/username/Maildir/.Archivio.2010
  • Spostare tutto
sudo mv /tmp/username/maildir/.*[A-Za-z0-9] /home/username/Maildir