Imapsync: sincronizzazione, copia e trasferimento di mailbox imap
Attenzione: non funziona bene con Debian Woody (probabilmente per librerie perl vecchie)
Installazione
Installazione su Debian Squeeze
- Imapsync non è più gratuito. Si sono copiati i deb-src da lenny e ricompilati per squeeze. Ora sono presenti nel repository RVM:
sudo apt-get install imapsync
Installazione su Debian Lenny
sudo aptitude install imapsync
Installazione dai sorgenti su Debian Etch o Sarge
- Prelevare il file e scompattarlo:
cd /files/src && \ wget http://www.linux-france.org/prj/imapsync/dist/imapsync-1.133.tgz && \ tar xvzf imapsync-1.133.tgz && \ cd imapsync-1.133
- Installare la librerie perl necessarie:
apt-get install libmail-imapclient-perl libterm-readkey-perl libhmac-perl
Simulazione copia di una mailbox
Sul server di destinazione assicurarsi che
- la mailbox di destinazione sia accessibile, e contenga almeno un messaggio.
- che sia presente la cartella "Posta importata", altrimenti crearla con un client imap.
- Per copiare
- dal server sorgente.domain.tld al server destinazione.domain.tld
- dalla casella casella.sorgente con password passwdsorgente
- alla casella casella.destinazione con password passwddestinazione
- mettendo il tutto in una cartella "Posta importata":
- Simulazione
./imapsync \ --host1 sorgente.domain.tld --user1 casella.sorgente --password1 passwdsorgente --authmech1 LOGIN\ --host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\ --prefix2 'INBOX.Posta importata.' \ --syncinternaldates --nosyncacls \ --dry \ 2>&1 | tee importazione.log
- Trasferimento delle sole cartelle:
./imapsync \ --host1 sorgente.domain.tld --user1 casella.sorgente --password1 passwdsorgente --authmech1 LOGIN\ --host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\ --prefix2 'INBOX.Posta importata.' \ --syncinternaldates --nosyncacls \ --justfolders \ 2>&1 | tee importazione.log
- Trasferimento dei files:
./imapsync \ --host1 sorgente.domain.tld --user1 casella.sorgente --password1 passwdsorgente --authmech1 LOGIN\ --host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\ --prefix2 'INBOX.Posta importata.' \ --syncinternaldates --nosyncacls \ 2>&1 | tee importazione.log
- Cancellazione dei files sorgenti:
./imapsync \ --host1 sorgente.domain.tld --user1 casella.sorgente --password1 passwdsorgente --authmech1 LOGIN\ --host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\ --delete \ --prefix2 'INBOX.Posta importata.' \ --syncinternaldates --nosyncacls \ 2>&1 | tee importazione.log
- Expunge dei files sorgenti:
./imapsync \ --host1 sorgente.domain.tld --user1 casella.sorgente --password1 passwdsorgente --authmech1 LOGIN\ --host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\ --prefix2 'INBOX.Posta importata.' \ --syncinternaldates --nosyncacls \ --delete \ --expunge1 \ 2>&1 | tee importazione.log
Esempio per copia di una sola cartella con sottocartelle da Courier Imap a Mdaemon
./imapsync \ --host1 127.0.0.1 --user1 username1 --password1 pass1 \ --host2 192.168.254.100 --user2 username2 --password2 pass2 \ --regextrans2 's/^INBOX\/(.+)/$1/' --nosyncacls --syncinternaldates --timeout 240\ --include 'INBOX.Spam In Attesa'
Il paramtero --regtrans2 elimina "INBOX." dal nome di destinazione della cartella, che altrimenti sarebbe "INBOX.Spam In Attesa".
Tips
Per velocizzare usare
--nofoldersizes
Se non completa il lavoro, è da un messaggio "Terminated", aumentare il timeout in secondi con:
--timeout 240
Links:
Sito imapsync: http://www.linux-france.org/prj/imapsync/