Accueil / Articles PiApplications. / Linux.

Automatisation de la sauvegarde des données de Thunderbird.

Certains clients de messagerie comme Evolution disposent d'une fonction intégrée de sauvegarde de leurs données. Ce n'est pas le cas du client de messagerie de Mozilla nommé Thunderbird. Dans ce cas, la sauvegarde des données se fait à la main. Cet article se propose d'en détailler la procédure sous Linux.

L'ensemble des données est lié à la fois à l'utilisateur connecté et à Thunderbird. Lors de l'installation du client de messagerie, un identifiant aléatoire est affecté au client par exemple viju6tf et le répertoire caché ~/.thunderbird est créé (~ représente le répertoire de l'utilisateur). C'est ce répertoire qui contient l'ensemble des données de Thunderbird pour cet utilisateur. C'est donc lui qu'il convient de sauvegarder.

  1. Avant toute chose, la sauvegarde impose l'arrêt de l'application.
  2. Vous pouvez ensuite sauvegarder le répertoire ~/.thunderbird et son contenu dans un fichier de préférence compressé avec la commande de votre choix (tar, zip, bzip, etc.).

Un moyen simple de localiser le répertoire des données est d'utiliser le choix Aide/informations de dépannage puis dans le paragraphe intitulé Paramètres de base de l’applicatio de chercher l'information Répertoire de profil . Dans la valeur donnée à cette information se trouve un bouton qui ouvre un exploateur de fichiers sur le répertoire du "profil". Le répertoire à sauvegarder est le "parent" de ce répertoire de "profil".

D'autres informations utiles sont disponibles sur le site de Mozilla notamment pour la restauration.

L'étape suivante consiste à automatiser la sauvegarde via par exemple la commande cron :

  1. Identification du processus thunderbird via la commande THUNDERBIRD=`ps -e | pgrep thunderbird`. Si thunderbird est lancé, la variable contient le PID de l'application sinon elle est vide ce qui peut se tester dans un script via la clause if [ -z $THUNDERBIRD ].
  2. Si Thunderbird est lancé, il faut l'arréter ce qui peut se faire via la commande kill -15 $THUNDERBIRD.
  3. Si le répertoire à sauvegarder est contenu par la variable THUNDERBIRD_PATH, vous pouvez alors lancer la sauvegarde du répertoire. Ceci peut être fait via la commande tar -czvf $ARCHIVE $THUNDERBIRD_PATH$ARCHIVEcontient le nom du fichier de destination de la sauvegarde (avec les options utilisées ici, affectez de préférence le fichier de l'extension .tgz).

Vous disposez ici de tout le nécessaire pour construire votre propre script shell d'automatisation de la sauvegarde. Voici un exemple très simple d'un tel script appelable par la commande cron :

DATE=`date -I`
USER=`whoami`
ARCHIVE=~/Archives/Thunderbird/$DATE-thunderbird.tgz
THUNDERBIRD_PATH=~/.thunderbird

echo -e "\n+---------------------------------------+"
echo -e "| SAUVEGARDE DES DONNEES DE THUNDERBIRD |"
echo -e "+---------------------------------------+"

unset THUNDERBIRD

# Arrêt éventuel du client de messagerie
THUNDERBIRD=`ps -e | pgrep thunderbird`


if [ ! -z "$THUNDERBIRD" ]
then
  kill -15 $THUNDERBIRD
  echo -e "Client de messagerie arrêté"
fi

# Sauvegarde des données du client pour l'utilisateur connecté
echo -e "Début de la sauvegarde..."
tar -czf $ARCHIVE $THUNDERBIRD_PATH 2>/dev/null 1>/dev/null
echo -e "...Sauvegarde effectuée."

# Relande du client s'il était lancé au moment de l'exécution du script
if [ ! -z "$THUNDERBIRD" ]
then
  /usr/bin/thunderbird 1>/dev/null 2>/dev/null &
  echo -e "Client de messagerie relancé."
fi

echo -e "Sauvegarde des données thunderbird de l'utilisateur \"$USER\" effectuée.\n"

Dans la pratique, il conviendra d'ajouter à un tel script la gestion des erreurs éventuelles.

(c) PiApplications 2016