Utiliser imapsync pour migrer des comptes mail
Contents
Imapsync permet de synchroniser les mails d’un compte imap à l’autre. Il fonctionne de manière incrémentale et ne crée pas de doublons. On peut donc le lancer plusieurs fois. On peut soit :
- l’installer via git :
git clone https://github.com/imapsync/imapsync.git
apt-get install libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libio-socket-ssl-perl libfile-spec-perl libdigest-hmac-perl
make
make install
- soit par paquet Debian : imapsync_1.518+awh-1_amd64.deb.tar.gz
tar xvzf imapsync_1.518+awh-1_amd64.deb.tar.gz
dpkg -i imapsync_1.518+awh-1_amd64.deb
apt-get -f install
Le fonctionnement est le suivant :
imapsync --host1 IP_IMAP_SOURCE --user1 "USER_SOURCE" --password1 "PASSWORD_SOURCE" --host2 IP_IMAP_DESTINATION --user2 "USER_DESTINATION" --password2 "PASSWORD_DESTINATION"
Si on veut automatiser, pour migrer plusieurs utilisateurs d’un coup, il faut d’abord créer un fichier, par exemple imapsync_users.txt :
user_01_1;password_01_1;user_01_2;password_01_2
user_02_1;password_02_1;user_02_2;password_02_2
[...]
Puis utiliser le script ci-dessous, en modifiant l’IP source et destination :
#!/bin/bash
{ while IFS=';' read u1 p1 u2 p2
do
{ echo "$u1" | egrep "^#" ; } > /dev/null && continue
NOW=`date +%Y_%m_%d_%H_%M_%S`
echo syncing to user "$u2"
imapsync --host1 IP_IMAP_SOURCE --user1 "$u1" --password1 "$p1" \
--host2 IP_IMAP_DESTINATION --user2 "$u2" --password2 "$p2" \
> /tmp/imapsync_log_${u2}_$NOW.txt 2>&1
done
} < imapsync_users.txt
Author VaLouille
LastMod 2013-02-12