Sauvegarde incrémentale et automatisé de votre compte Gmail

Date: 22/08/2012 | Catégories: Blog,Open-source,Planet-libre,Web | Tags: ,

Les prophètes du Web avaient prédit la fin des mails avec l'arrivée des réseaux sociaux. Force est de constater que la messagerie électronique "classique" est toujours bien ancrée dans les moeurs.  Pour une utilisation personnelle, la messagerie GMail de Google fait office de leader sur le marché. J'ai personnellement plus de 3 Go d'archives de mail sur mon compte personnel. Bien que très stable, le service de Google n'est pas à l'abri d'une perte de vos précieux messages. Nous allons donc voir dans ce billet comment conserver une archive locale de votre compte Gmail en utilisant le logiciel libre GetMail. GetMail est distribué sous licence GPL version 2 et il est disponible dans les dépôts des principales distributions GNU/Linux.

La procédure suivante va nous permettre de faire une sauvegarde incrémentale (seul les nouveaux messages sont téléchargés) d'un compte Gmail accessible via le protocole IMAP sur une machine Debian Squeeze (mais la procédure est la même sous Ubuntu).

Installation et configuration initiale de Getmail

On commence par installer le logiciel:

On créé ensuite les sous-répertoires suivants (à adapter à votre configuration):

  • ~/.getmail: va contenir les fichiers de configuration de Getmail (un fichier par compte)
  • ~/backup/gmail: est le répertoire de destination ou la sauvegarde va être faite

En utilisant les commandes suivantes:

On passe ensuite à la création du fichier de configuration (~/.getmail/getmail.gmail) pour notre compte Gmail. Ce dernier doit contenir les lignes suivantes:

Je vous laisse modifier ce fichier avec vos propres informations.

On s'empresse de protéger ce fichier des regards extérieurs:

Comme vous pouvez le voir dans cette même configuration, j'ai choisi d'utiliser le format Mboxrd qui est un standard reconnu par la plupart des logiciels. Getmail doit disposer d'une archive vide avec les bons droits avant de le lancer pour la première fois. On utilise donc la commande suivante pour le satisfaire:

Lancement initial de Getmail

Je vous conseille de faire le premier lancement de Getmail depuis une console pour voir les éventuels messages d'erreurs.

Il est possible, notamment si vous lancé Getmail depuis un serveur n'ayant jamais fait de connexions clientes IMAP vers GMail, que Google bloque l'accès et que Getmail retourne un message du style:

Pour résoudre se problème il faut se connecter sur votre compte Gmail (à partir de n'impote qu'elle machine) puis de cliquer sur le bandeau rouge en haut de l'écran:

Puis de valider votre connexions:

Vous avez alors 10 minutes pour relancer la première commande de ce paragraphe.

Si il n'y a pas d'erreur, alors le téléchargement des fichiers vers votre archive (fichier unique) devrait commencer. vous pouvez aller prendre un café, ou plusieurs, selon la taille de votre compte GMail. Je vous conseille de prévoir un espace disquelégérement supérieur à l'information donnée par Gmail en bas du WebMail (fichier archive de 4 Go pour 3 Go affiché dans Gmail). En effet, l'archivage implique l'ajout d'un "overhead" assez important.

Note: Même depuis mon serveur OVH connecté à 100 Mbps sur Internet, je ne dépasse pas les 1 Mbps lors de l'archivage, surement une limite des serveurs Google et/ou du protocole IMAP.

Automatiser la sauvegarde

"Sauvegarder, c'est bien, automatiser la sauvegarde c'est mieux." [Nicolargo]

Une petite ligne ajoutée à votre crontab système va permettre d'automatiser la sauvegarde incrémentale de votre compte Gmail. Personnellement, je la déclenche toutes les nuits à 1h du matin.

Vous voilà maintenant plus tranquille avec une archive bien à vous de vos (g)mails !