Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Published by Scroll Versions from space DA and version BM-3.5
Sv translation
languagefr

Présentation

Cette page vous guide afin de restaurer le contenu d'une boîte de messagerie (d'utilisateur ou partagée) à partir d'un répertoire de sauvegarde.

La Restauration unitaire DataProtect est à privilégier, ou encore la restauration par script, le présent guide n'est à utiliser que dans des cas particuliers où celles-ci échouent.

Volet

Sur cette page :

Sommaire
maxLevel2

En relation :
Restauration du contenu d ' une boîte boite utilisateur ou partagéepartagee

Notions

Afin de restaurer correctement la boite de messagerie souhaitée, il va falloir reconstruire les arborescences des data et metadata qui se trouvent respectivement aux emplacements suivants :

  • /var/spool/cyrus/data/
  • /var/spool/cyrus/meta/

Par exemple sur le domaine bluemind.loc on a :

  • /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/
  • /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/

Les données de sauvegarde se trouvent dans des sous-répertoires correspondant, dans le répertoire /var/backups/.

Le spool de la sauvegarde correspondante est alors le suivant (ici pour la 1234ème sauvegarde) :

  • /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1234/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/
  • /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1234/var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/

Restauration d'un utilisateur

Données utilisateurs

Les données (mails) d'un utilisateur 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

  1. exécuter la commande d'application du quota :

    Bloc de code
    /usr/lib/cyrus/bin/quota -f -d bluemind.loc user/jdoe
  2. À 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
  3. 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

Restauration d'une boîte partagée

Données de la boîte

Contrairement aux arborescences des dossiers d'utilisateurs, les sous-répertoires des boîtes partagées ne sont pas situés dans le répertoire principal de la boîte mais dans un sous-répertoire correspondant à leur première lettre.

Ainsi, le sous-répertoire nommé "restore-20171003" de la boîte partagée contact ne se situe pas dans /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/c/contact de la boîte mais dans le répertoire /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact

Veillez donc à porter une attention particulière à l'arborescence en recopiant ou écrivant les lignes de codes données ci-après.

Procédure

  1. Recréer la boîte via la console d'administration : Entrées d'annuaire > Nouveau > Boîte aux lettres partagée
  2. Créer le répertoire de restauration data de la boîte :

    Bloc de code
    mkdir -p /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
    chown cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/
    chown -R cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact
  3. Créer le répertoire de restauration meta de la boîte :

    Bloc de code
    mkdir -p /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
    chown cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/
    chown -R cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact
  4. Créer le fichier header dans le répertoire de restauration meta :

    Bloc de code
    touch /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/cyrus.header
    chown cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/cyrus.header
  5. Restaurer les données (emails) dans le répertoire data :

    Bloc de code
    cd /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc
    #copie des emails situés à la racine de la boîte (boîte de réception)
    cp c/contact/* /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/
    #recherche et copie des sous-dossiers
    find ./ -maxdepth 3 -type d -wholename "*/contact/*" -exec cp -a -r {} /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/ \;
    #positionnement des droits sur les fichiers ainsi copiés
    chown -R cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
  6. Restaurer les métadonnées dans le répertoire meta :

    Bloc de code
    cd /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1/var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc
    #recherche et copie des sous-dossiers
    find ./ -maxdepth 3 -type d -wholename "*/contact/*" -exec cp -a -r {} /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/ \;
    #positionnement des droits sur les fichiers ainsi copiés
    chown -R cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/

    NB : ici, il n'y a pas de fichiers à copier depuis la racine

  7. Reconstruire l'index de la boîte.
    Pour cela, 2 façons de procéder :
    1. En ligne de commande :

      Bloc de code
      /usr/lib/cyrus/bin/reconstruct -f -r -p bluemind_loc "contact/restored-20171003@bluemind.loc"
    2. Dans la console d'administration, se rendre dans la gestion de la boîte partagée, onglet Maintenance et lancer une reconstruction de l'index de la boîte :
Sv translation
languageen

Introduction

This page is designed to guide you through the process for restoring a user or shared mailbox based on a backup directory.

We recommend that you use Restauration unitaire DataProtect, or the scripted restauration, this guide is only to be used if they have failed.

Volet

On this page:

Sommaire
maxLevel2

Related:

Directories

Before you restore the mailbox, you must rebuild the data and metadata trees located in:

  • /var/spool/cyrus/data/
  • /var/spool/cyrus/meta/

For instance, on the domain bluemind.loc the path is:

  • /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/
  • /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/

Backup files can be found in /var/backups tree view.

As a result, the corresponding backup spool is (in this instance, for backup number 1234):

  • /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1234/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/
  • /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1234/var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/

User restoration

Data

The data (emails) is stored in the server directory /var/spool/cyrus/data/domain_loc/[...]/[n]/user/nom_user/ ([n] being the initial of the login id, i.e. *n*om_user in this example)

The metadata is stored in the server directory /var/spool/cyrus/meta/domain_loc/[...]/[n]/user/nom_user/. This is email metadata: read status, flags, reply or forward markers, etc.

It is recommended that you backup metadata. Without metadata backups, restoration is still possible, but they will be present in their original state: they will be considered as unread, not replied to and have no particular status. 

Prerequisites and example data

The server the data is restored into,  if it is not the original server -- must have the same characteristics: same domain name, same IP address, same url, same BlueMind version, etc.

  • the user name must be identical to the original user name

For the procedure, we will use the following user:

  • domain bluemind.loc
  • user name jdoe

The data:

  • the mailbox data (see above) will be placed in the target server in the following directories:
    • data: /var/backups/jdoe/
    • metadata: /var/backups/jdoe-meta/
  • the data will be restored into a subfolder of the user's mailbox named restore_dir (this can be any name, you can use the day's date or any other name)

Procedure

Remarque

In the directory paths or some command lines, the full stop '.' in the domain name is replaced with underscore '_'.

Make sure you make this substitution when you adapt the commands to your domain.

Restoration into mailbox other than the user's 

To restore a user's messages into a maibox other than its original mailbox, you have two options:

  • restore without the metadata (see below)
  • restore with the metadata (see below) then:
    • log in with the target user id
    • go to parameters > Mail > tab Sharings > click Save"
      There is no need to make any changes, simply force-save sharing options.

Restoration with metadata

Log in as root :

  • go into /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
  • copy the data you want to restore and give the appropriate rights to the directory thereby created:

    Bloc de code
    mv /var/backups/jdoe/ restore_dir
    chown -R cyrus:mail restore_dir
    chmod -R u+rwx restore_dir
  • go into /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
  • copy the metadata you want to restore into a new sub-directory with the same name as the directory used for the data:

    Bloc de code
    mv /var/backups/jdoe-meta/ restore_dir
    chown -R cyrus:mail restore_dir
    chmod -R u+rwx restore_dir
  • run the Cyrus mailbox reconstruct command:

    Bloc de code
    /usr/lib/cyrus/bin/reconstruct -r -f user/jdoe@bluemind.loc

Restoration without metadata

Remarque

In the directory paths or some command lines, the full stop '.' in the domain name is replaced with underscore '_'.

Make sure you make this substitution when you adapt the commands to your domain.

Logged into the server as root:

  • go into /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/
  • copy the data you want to restore and give the appropriate rights to the directory thereby created:

    Bloc de code
    mv /var/backups/jdoe/ restore_dir
    chown -R cyrus:mail restore_dir
    chmod -R u+rwx restore_dir
  • reproduce the tree structure for the metadata:

    Bloc de code
    find restore_dir/ -type d -exec mkdir /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/j/user/jdoe/{} \;
  • go into the user's metadata folder, create the cyrus.header files and set the appropriate rights:

    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
  • run the Cyrus mailbox reconstruction command:

    Bloc de code
    /usr/lib/cyrus/bin/reconstruct -p bluemind_loc -r -f user/jdoe/restore_dir@bluemind.loc

Finalizing - in all scenarios

  1. run the quota application command:

    Bloc de code
    /usr/lib/cyrus/bin/quota -f -d bluemind.loc user/jdoe
  2. At this point, the messages should be accessible in webmail. If it isn't he case, make sure you refresh the tree structure cache be following these steps:

    • while logged into BlueMind as the user, click the gears button at the bottom left of the folders list > "Manage folders":
    • the restore_dir folder and its structure should be visible in the folder structure
    • go back to webmail without performing any additional actions
    • the folder and the restored messages should then be visible
  3. To finalize:

    • if a quota is set on the mailbox, make sure it has not been reached; if it has, increase it temporarily.
    • in the admin console, while logged in as admin0:
      • go to the user management page > Maintenance tab
      • check "Repair mailbox indexing"
      • click Save

Mailshare restoration

Data

Unlike user folder tree structures, sub-directories for shared mailboxes are not located in the mailbox's main directory but in a sub-directory identified by its initial letter.

E.g. the sub-directory named "restore-20171003" will not be located in:

/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/c/contact of the mailbox, but in the directory /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact

Therefore it is important that you bear this in mind when you copy or write the code lines below.

Procedure

  1. Recreate the mailbox via the admin console: Directory Entries > New > Shared Mailbox
  2. Create the mailbox's data restoration directory:

    Bloc de code
    mkdir -p /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
    chown cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/
    chown -R cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact
  3. Create the mailbox's meta restoration directory:

    Bloc de code
    mkdir -p /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
    chown cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/
    chown -R cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact
  4. Create the header file in the meta restoration directory:

    Bloc de code
    touch /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/cyrus.header
    chown cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/cyrus.header
  5. Restore the data (emails) in the data directory:

    Bloc de code
    cd /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1/var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc
    #copies emails located in the mailbox root folder (inbox)
    cp c/contact/* /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/
    #searches and copies sub-folders 
    find ./ -maxdepth 3 -type d -wholename "*/contact/*" -exec cp -a -r {} /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/ \;
    #sets rights on copied files 
    chown -R cyrus:mail /var/spool/cyrus/data/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003
  6. Restore the metadata in the meta directory:

    Bloc de code
    cd /var/backups/bluemind/dp_spool/rsync/192.168.122.56/mail/imap/1/var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc
    #searches and copies sub-folders
    find ./ -maxdepth 3 -type d -wholename "*/contact/*" -exec cp -a -r {} /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/ \;
    #sets rights on copied files
    chown -R cyrus:mail /var/spool/cyrus/meta/bluemind_loc/domain/b/bluemind.loc/r/contact/restored-20171003/

    NB: there are no files to copy from the root folder here. 

  7. Rebuild the mailbox index.
    There are 2 ways of doing this:
    1. Using command line:

      Bloc de code
      /usr/lib/cyrus/bin/reconstruct -f -r -p bluemind_loc "contact/restored-20171003@bluemind.loc"
    2. In the admin console, go to the shared mailbox management page, Maintenance tab and start the mailbox index rebuilding.