Restauration par script
BlueMind met à votre disposition un couple de scripts shell et python permettant de vous assister dans la restauration des données précédemment sauvegardées de la boîte de messagerie d'un utilisateur.
Pré-requis
Pour pouvoir utiliser ces scripts, le Client Python doit être installé sur la machine.
Fichiers utiles
View file |
---|
name | updateMboxAcls.py |
---|
height | 250 |
---|
|
Procédure
Le script restore.sh
restaurera les données de l'utilisateur à partir du répertoire de sauvegarde dans la boîte de messagerie de l'utilisateur lui-même ou d'un autre utilisateur, dans un sous-dossier nommé restored_<timestamp>
.
Il se lance ainsi :
Bloc de code |
---|
./restore.sh USER|MAILSHARE BACKUP_PATH EMAIL_ADDRESS |
USER|MAILSHARE
: pour restaurer un utilisateur indiquer le mot clé USER, pour restaurer une boîte partagée indiquer MAILSHAREBACKUP_PATH
: chemin où se trouvent les données dans le répertoire de sauvegarde de BlueMind (/var/backups). Le chemin est de la forme :
/var/backups/bluemind/dp_spool/rsync/<IP>/mail/imap/<numéro de sauvegarde>/var/spool/cyrus/data/<domaine bluemind>/domain/<initiale du domaine>/<domaine bluemind>/<initiale de l'utilisateur>/user/<utilisateur>/
Par exemple pour l'utilisateur jdoe sur le domaine bluemind.loc :
/var/backups/bluemind/dp_spool/rsync/192.168.122.148/mail/imap/806/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
EMAIL_ADDRESS
: adresse de messagerie de l'utilisateur dans la boîte duquel on souhaite restaurer les données
Exemples d'utilisation :
Tabs group |
---|
border | all-sides |
---|
navcolor | navy |
---|
|
Restauration dans la boîte de l'utilisateur Restauration de la messagerie de l'utilisateur John Doe (identifiant jdoe) dans sa propre boîte (adresse email jdoe@bluemind.loc) Les messages, ainsi que l'arborescence de dossiers, sont dès lors consultables dans la boîte de l'utilisateur John Doe : Restauration dans la boîte d'un autre utilisateurRestauration de la messagerie de l'utilisateur John Doe (identifiant jdoe) dans la boîte d'un autre utilisateur (adresse email hannibal@bluemind.loc) : Les messages, ainsi que l'arborescence de dossiers, sont dès lors consultables dans la boîte de l'utilisateur John Smith :
|
Restauration manuelle
Notions
Les données (mails) sont stockées sur le serveur dans le répertoire /var/spool/cyrus/data/domain_loc/[...]/[n]/user/nom_user/
(où [n] est la 1ère lettre du login, ici *n*om_user)
Les méta-données sont stockées sur le serveur dans le répertoire /var/spool/cyrus/meta/domain_loc/[...]/[n]/user/nom_user/
. Il s'agit des données relatives aux mails : statut de lecture, drapeaux, indicateur de réponse ou transfert, etc.
Autant que possible, il est préférable d'effectuer une sauvegarde des méta-données. Cependant, en l'absence de celle-ci, la restauration des messages reste possible, ils seront alors présents dans leur état d'origine : ils seront considérés comme non lus, non répondus, sans statut particulier.
Pré-requis et données exemples
- le serveur sur lequel sont restaurées les données, s'il n'est pas le serveur d'origine, doit avoir les mêmes caractéristiques que celui-ci : même nom de domaine, même adresse IP, même url, même version de BlueMind, etc.
- le nom d'utilisateur doit être identique à celui d'origine
Pour la procédure, nous utiliserons l'utilisateur suivant :
- domaine
bluemind.loc
- nom d'utilisateur
jdoe
Les données :
- les données de messagerie (voir ci-dessus) sont déposées sur le serveur cible dans les répertoires suivants :
- données :
/var/backups/jdoe/
- méta-données :
/var/backups/jdoe-meta/
- la restauration de ses données se fera dans un sous-dossier de sa messagerie nommé
restore_dir
(ce nom est libre, on pourra par exemple utiliser la date du jour ou autre convention)
Procédure
Remarque |
---|
Dans les chemins de répertoires ou certaines lignes de commandes, le point '.' du nom de domaine est remplacé par un underscore '_'. Veillez à bien effectuer ce remplacement lors de l'adaptation des commandes à votre domaine. |
Cas de la restauration dans une autre boîte que celle de l'utilisateur
Pour restaurer les messages d'un utilisateur dans une autre boîte que celle d'origine, on pourra au choix :
- effectuer une restauration sans les méta-données (voir ci-dessous)
- effectuer une restauration avec les méta-données (voir ci-dessous) puis :
- se connecter avec le login de l'utilisateur cible
- se rendre dans la gestion des paramètres > Messagerie > onglet Gestion des partages > cliquer sur « Enregistrer »
Il n'est pas ici nécessaire d'effectuer une modification, il faut juste forcer le ré-enregistrement des partages.
Restauration avec les méta-données
Connecté au serveur en tant que root
:
- se placer dans
/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
copier les données a restaurer et donner les droits adéquats au répertoire ainsi créé :
Bloc de code |
---|
mv /var/backups/jdoe/ restore_dir
chown -R cyrus:mail restore_dir
chmod -R u+rwx restore_dir |
- se placer dans
/var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
copier les méta-données a restaurer dans un sous répertoire qui porte le même nom que celui utilisé pour les données :
Bloc de code |
---|
mv /var/backups/jdoe-meta/ restore_dir
chown -R cyrus:mail restore_dir
chmod -R u+rwx restore_dir |
exécuter la commande cyrus de reconstruction de la boîte :
Bloc de code |
---|
/usr/lib/cyrus/bin/reconstruct -r -f user/jdoe@bluemind.loc |
Restauration en l'absence des méta-données
Remarque |
---|
Dans les chemins de répertoires ou certaines lignes de commandes, le point '.' du nom de domaine est remplacé par un underscore '_'. Veillez à bien effectuer ce remplacement lors de l'adaptation des commandes à votre domaine. |
Connecté au serveur en tant que root
:
- se placer dans
/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
copier les données a restaurer et donner les droits adéquats au répertoire ainsi créé :
Bloc de code |
---|
mv /var/backups/jdoe/ restore_dir
chown -R cyrus:mail restore_dir
chmod -R u+rwx restore_dir |
reproduire l'arborescence pour les méta-données :
Bloc de code |
---|
find restore_dir/ -type d -exec mkdir /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/{} \; |
se placer dans le dossier des méta-données de l'utilisateur, créer les fichiers cyrus.header et positionner les droits adéquats :
Bloc de code |
---|
cd /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
find restore_dir -type d -exec touch {}/cyrus.header \;
chown -R cyrus:mail restore_dir |
exécuter la commande cyrus de reconstruction de la boîte :
Bloc de code |
---|
/usr/lib/cyrus/bin/reconstruct -p bluemind_loc -r -f user/jdoe/restore_dir@bluemind.loc |
Finalisation - dans tous les cas
exécuter la commande d'application du quota :
Bloc de code |
---|
/usr/lib/cyrus/bin/quota -f -d bluemind.loc user/jdoe |
À ce stade, les mails doivent-être visibles depuis le webmail. Si ce n'est pas le cas, s'assurer de bien rafraîchir le cache de l'arborescence de la façon suivante :
- connecté à BlueMind en tant que l'utilisateur, cliquer sur les engrenages en bas à gauche de la liste des dossiers > « Organiser les dossiers » :
- le dossier
restore_dir
et son arborescence doivent être visibles dans l'arborescence - revenir dans le webmail sans faire d'action particulière
- le dossier et les mails restaurés doivent-être alors être visibles
Pour terminer :
- si il y a un quota sur la boîte, s'assurer qu'il n'est pas atteint ; le cas échéant, augmenter temporairement ce dernier.
- dans la console d'administration, connecté en tant qu'admin0 :
- se rendre dans la gestion de l'utilisateur > onglet maintenance
- cocher « Réparer l'indexation de la boîte »
- cliquer sur Enregistrer
Enregistrer