Sauvegarde et restauration d'une boîte aux lettres Zimbra CE à l'aide d'exportations TGZ

Pour sauvegarder une boîte mail Zimbra Community Edition (CE), exportez-la au format TGZ zmmailbox getRestURL, validez l'archive et restaurez-la postRestURL. Lors de l'importation dans un compte contenant déjà des messages, commencez parresolve=skip ; l'utilisation resolve=resetde à la racine de la boîte mail peut supprimer les éléments existants.

Comprenez ce que protège une exportation par boîte aux lettres

Zimbra documente l'exportation et l'importation de fichiers TGZ via son interface REST et zmmailboxson utilitaire. L'archive est conçue pour conserver le contenu et l'arborescence des boîtes aux lettres, y compris les messages électroniques compressés au format EML et les données associées (calendrier, contacts, tâches, etc.). Les données et métadonnées conservées lors de l'importation dépendent des versions source et de destination, ainsi que des éléments transférés.

Ne confondez pas cela avec une sauvegarde complète de compte ou de serveur. Une exportation de contenu TGZ ne crée pas de compte manquant et ne préserve pas l'ensemble des attributs LDAP, mots de passe, alias, classes de service, paramètres de routage, filtres, autorisations ni la configuration du serveur. Enregistrez séparément les paramètres de compte nécessaires en suivant les procédures d'administration. L' zmbackuputilitaire décrit dans l'ancienne documentation Zimbra concerne l'édition Network et non le flux de travail standard de l'édition CE.

Les exemples de commandes suivent les interfaces documentées de Zimbra, mais ne constituent pas un test en direct pour chaque version CE compilée indépendamment. Consultez l'aide zmcontrol -vdisponible zmmailboxet les notes de version de votre build avant de planifier une restauration en production. De plus, une exportation REST en direct ne doit pas être considérée comme une capture parfaitement cohérente à un instant donné si l'utilisateur modifie des éléments pendant son exécution. Planifiez une période de faible activité lorsque la cohérence est essentielle.

Exporter la boîte aux lettres individuelle

1. Identifiez le compte et son serveur de messagerie.

Connectez-vous au serveur Zimbra avec un compte administrateur. Passez en mode utilisateur du service Zimbra, puis vérifiez l'existence du compte cible. Dans un déploiement multi-serveurs, assurez-vous de vous connecter au service de messagerie approprié.

sudo -iu zimbra
zmcontrol -v
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders

Remplacez user@example.compar le compte réel. Le -zcommutateur utilise les identifiants d'administrateur Zimbra locaux ; il ne s'agit pas du mot de passe de l'utilisateur final. Si vous ne disposez pas des droits d'administration nécessaires, utilisez une procédure d'accès aux comptes approuvée au lieu d'intégrer les mots de passe dans une commande shell.

Terminal affichant une recherche de compte Zimbra avec l'hôte de la boîte aux lettres et l'état actif
Vérifiez l'adresse de la boîte mail, le serveur d'hébergement et l'état du compte avant de lancer l'exportation.

2. Créez un emplacement d'archivage privé

En tant qu'utilisateur privilégié du système d'exploitation, créez un emplacement accessible en écriture par l'utilisateur du service Zimbra. Créez-le en dehors des répertoires publics et vérifiez d'abord l'espace libre. Exécutez la commande d'installation avant de basculer vers un autre compte utilisateur zimbra, ou revenez à votre compte privilégié.

sudo install -d -o zimbra -g zimbra -m 0700 /srv/zimbra-mailbox-backups
df -h /srv/zimbra-mailbox-backups
ls -ld /srv/zimbra-mailbox-backups

Les archives de messagerie peuvent contenir des messages et des pièces jointes confidentiels. Limitez l'accès au système de fichiers, protégez toute copie hors serveur et appliquez une politique de conservation appropriée.

Terminal affichant un répertoire de sauvegarde de boîte aux lettres privée et la liste des permissions Unix
Utilisez un répertoire de sauvegarde privé et vérifiez ses permissions de système de fichiers.

3. Exportez la boîte aux lettres au format TGZ.

zimbraUtilisez l'exportateur REST ci-dessous depuis un terminal. Cette -t 0option désactive le délai d'expiration de l'interface de ligne de commande pour les opérations volumineuses ; elle ne garantit toutefois pas que l'exportation ne soit pas interrompue par des proxys, des E/S disque ou les limites du serveur.

umask 077
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz' > /srv/zimbra-mailbox-backups/user-20261010.tgz

Effectuez une exportation par compte et choisissez un nom de fichier unique et daté. Ne réutilisez pas un chemin d'archive précédent, car la redirection du shell le tronquera. Si la commande signale une erreur, considérez le fichier résultant comme incomplet jusqu'à ce qu'il réussisse les vérifications ci-dessous.

Terminal affichant la commande zmmailbox getRestURL lors de l'exportation d'une boîte aux lettres vers un fichier TGZ
La commande getRestURL écrit une archive compressée de boîte aux lettres dans le répertoire choisi.

4. Validez l'archive et enregistrez sa somme de contrôle.

Un fichier TGZ non vide ne garantit pas la récupération de la sauvegarde. Testez l'intégralité du flux tar, examinez des entrées de dossiers représentatives et calculez un condensé. Si le test tar échoue, il est préférable d'analyser l'exportation plutôt que d'importer le fichier.

test -s /srv/zimbra-mailbox-backups/user-20261010.tgz
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz > /dev/null
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz | head -n 20
cd /srv/zimbra-mailbox-backups
sha256sum user-20261010.tgz > user-20261010.tgz.sha256

Stockez la somme de contrôle à côté de l'archive et déplacez les deux fichiers vers un stockage sécurisé, hors du serveur d'origine. Après la copie, exécutez la commande sha256sum -c user-20261010.tgz.sha256dans le répertoire contenant les deux fichiers. Une somme de contrôle correcte confirme l'intégrité des données, mais ne garantit pas la restauration correcte de toutes les fonctionnalités de la boîte aux lettres.

Terminal affichant l'existence de l'archive, son intégrité gzip et la liste des dossiers de la boîte aux lettres.
Inspectez l'archive avant de considérer l'exportation comme une copie de récupération utilisable.
Terminal affichant la somme de contrôle SHA-256 d'un fichier TGZ de boîte aux lettres
Enregistrez un condensé SHA-256 afin que l'archive transférée puisse être vérifiée pour détecter d'éventuelles modifications.

Restaurez les archives sans écraser Live Mail

5. Préparer et inspecter la boîte aux lettres de destination

Créez le compte de destination via votre procédure de provisionnement Zimbra habituelle et approuvée s'il n'existe pas déjà ; l'importation TGZ ne le créera pas. Vérifiez son adresse, son quota, ses accès aux services et les dossiers existants. Pour le premier test, utilisez un compte isolé hors production, notamment pour les transferts entre versions.

sudo -iu zimbra
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders

Copiez l'archive validée dans un répertoire accessible en lecture par l'utilisateur du service Zimbra de destination, en conservant les permissions restreintes. Pour un transfert distant, vérifiez à nouveau la somme de contrôle à destination. Ne présumez pas qu'un compte avec la même adresse est vide.

Terminal affichant les attributs du compte à partir de la commande de provisionnement Zimbra
Vérifiez que le compte de destination existe avant d'importer les éléments de la boîte aux lettres.

6. Importer avec une politique de gestion des conflits adaptée à la destination

Pour ajouter les éléments manquants tout en conservant les éléments correspondants, utilisez resolve=skip. Il s'agit du comportement par défaut documenté pour la gestion des doublons, mais il ne garantit pas une fusion parfaite pour chaque type d'élément ou version.

zmmailbox -z -m user@example.com -t 0 postRestURL '//?fmt=tgz&resolve=skip' /srv/zimbra-mailbox-backups/user-20261010.tgz

Évitez de copier un exemple destructeur en production. La documentation Zimbra resolve=resetrecommande de supprimer les éléments de destination avant l'importation. Les politiques replaceet modifyles paramètres modifient également la gestion des éléments existants. N'envisagez leur utilisation pour une restauration contrôlée qu'après avoir effectué des tests et obtenu l'approbation pour le compte et le dossier concernés.

Terminal affichant zmmailbox postRestURL avec l'option resolve=skip
Importez l'archive avec la stratégie d'ignorance des conflits lorsque le contenu existant de la boîte aux lettres doit être conservé.

Gérer les échecs d'exportation et vérifier la récupération

En cas de délai d'attente dépassé, conservez -t 0et examinez le délai d'attente du serveur ou du proxy ainsi que les limites de stockage ; un délai d'attente nul en ligne de commande ne résout pas tous les problèmes réseau. Le wiki d'assistance de Zimbra signale également les risques d'archives corrompues et d'erreurs d'E/S lors de l'exportation de boîtes aux lettres volumineuses. Pour une exportation trop volumineuse ou instable, répartissez le travail par dossier ou par date, puis testez chaque archive et son importation sur un compte secondaire.

Par exemple, la requête de recherche documentée under:Inboxsélectionne le contenu de la boîte de réception et ses sous-dossiers. Les guillemets autour de l'URL REST sont indispensables car l'esperluette doit être envoyée à Zimbra et non à l'interpréteur de commandes.

zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz&query=under:Inbox' > /srv/zimbra-mailbox-backups/inbox-20261010.tgz

L'archivage d'un dossier ne remplace pas l'exportation complète de la boîte aux lettres. Vérifiez son contenu indépendamment et notez les dossiers ou dates omis. Si le compte est désactivé ou si la requête renvoie une erreur d'autorisation, examinez l'état du compte et l'authentification administrative au lieu de contourner les vérifications de certificat TLS ou de divulguer vos identifiants.

7. Vérifiez les éléments restaurés, et pas seulement la sortie de la commande.

Dressez la liste des dossiers de destination et comparez-les avec les dossiers sources enregistrés et l'inventaire TGZ :

zmmailbox -z -m user@example.com getAllFolders
zmmailbox -z -m user@example.com getMailboxSize

Connectez-vous ensuite au compte de test de destination et ouvrez un échantillon des messages reçus et envoyés, des pièces jointes, des contacts et des événements du calendrier. Vérifiez les dates et les chemins d'accès aux dossiers, et examinez les éventuelles erreurs d'importation. Recréez ou vérifiez séparément les alias, les autorisations de partage, les règles et autres paramètres du compte si nécessaire. Ne considérez la récupération comme réussie que lorsque les données attendues sont accessibles et que les vérifications sont consignées.

Terminal affichant les noms de dossiers Zimbra renvoyés par getAllFolders
Comparez le contenu restauré des dossiers Boîte de réception, Éléments envoyés, Calendrier et autres avec le contenu attendu de l'archive.

Références principales : documentation de la commande `zmmailbox` de Zimbra , documentation de l’API REST de Zimbra , documentation d’administration de `zmprov` de Zimbra et article de Zimbra sur les exportations limitées et les précautions relatives aux archives volumineuses . Certains exemples du wiki Zimbra sont anciens ou en cours d’élaboration ; vérifiez leur comportement sur votre installation Zimbra CE avant de les utiliser en production.

Laisser un commentaire

Automatisez les sauvegardes Nextcloud cohérentes avec Restic et Cron

Automatisez les sauvegardes Nextcloud cohérentes avec Restic et Cron

Sauvegardez simultanément les fichiers de Nextcloud et de MariaDB, planifiez des instantanés Restic chiffrés avec cron et vérifiez la récupération sans risquer le serveur en production.

Debian 12 sur un VPS à faible RAM : Comment réduire les plantages MySQL dus à une erreur de mémoire insuffisante

Debian 12 sur un VPS à faible RAM : Comment réduire les plantages MySQL dus à une erreur de mémoire insuffisante

Diagnostiquer les erreurs OOM de MySQL sur Debian 12, vérifier les limites de mémoire du VPS, configurer le swap et optimiser la mémoire et la concurrence de la base de données sans promettre de solution universelle.

Sauvegarde et restauration d'une boîte aux lettres Zimbra CE à l'aide d'exportations TGZ

Sauvegarde et restauration d'une boîte aux lettres Zimbra CE à l'aide d'exportations TGZ

Exportez une boîte aux lettres individuelle de Zimbra Community Edition, validez sa sauvegarde TGZ et restaurez les éléments manquants sans écraser les messages existants.

Autoriser les utilisateurs approuvés à créer des salles Jitsi avec connexion Keycloak

Autoriser les utilisateurs approuvés à créer des salles Jitsi avec connexion Keycloak

Autoriser uniquement les comptes approuvés à créer des salles Jitsi Meet en utilisant l'authentification Keycloak et par jeton, tout en laissant la possibilité de rejoindre les invités en cas de besoin.

Ajout de polices au serveur de documents ONLYOFFICE : Docker ou Linux ?

Ajout de polices au serveur de documents ONLYOFFICE : Docker ou Linux ?

Installez des polices personnalisées dans ONLYOFFICE Document Server, comparez les montages Docker persistants avec les copies directes, reconstruisez la liste des polices et vérifiez le résultat.

Synchronisez les utilisateurs Active Directory avec ONLYOFFICE DocSpace via LDAP.

Synchronisez les utilisateurs Active Directory avec ONLYOFFICE DocSpace via LDAP.

Connectez ONLYOFFICE DocSpace à Active Directory ou OpenLDAP, importez les utilisateurs et les groupes en toute sécurité, mappez les champs de compte et planifiez une synchronisation fiable.

Intégrez ONLYOFFICE Docs derrière HAProxy sans interrompre l'édition.

Intégrez ONLYOFFICE Docs derrière HAProxy sans interrompre l'édition.

Configurez HAProxy HTTPS, le transfert des en-têtes, les délais d'expiration WebSocket et les contrôles d'intégrité pour ONLYOFFICE Docs, puis vérifiez les modifications et les enregistrements.

Installation et signature de modules de noyau personnalisés sur SLES 15 Secure Boot

Installation et signature de modules de noyau personnalisés sur SLES 15 Secure Boot

Chargez un module noyau SLES 15 personnalisé sans désactiver le démarrage sécurisé. Associez-le au noyau en cours d'exécution, signez le fichier .ko, enregistrez une clé MOK et vérifiez le chargement.

Transfert Syslog SLES sécurisé avec rsyslog et TLS mutuel

Transfert Syslog SLES sécurisé avec rsyslog et TLS mutuel

Envoyer les journaux système SLES à un collecteur rsyslog distant via TLS authentifié, avec vérifications de certificat, mise en mémoire tampon en cas de panne et tests de livraison.

Démarrage d'Ubuntu Server en mode d'urgence : Guide de dépannage étape par étape

Démarrage d'Ubuntu Server en mode d'urgence : Guide de dépannage étape par étape

Diagnostiquez en toute sécurité le mode d'urgence d'Ubuntu Server. Consultez les journaux de démarrage, vérifiez les points de montage racine et fstab, réparez une unité défaillante, gérez les erreurs du système de fichiers et assurez-vous d'un redémarrage correct.