Informations :
Dates
- Publish : : Friday 03 april 2020
- Modification : Friday 03 april 2020
- 1696 views
Share :
Je vous met ici un script pour sauvegarder les comptes des utilisateurs de votre Webmail Zimbra.
Il faut créer le répertoire mkdir /opt/zimbra/backup et lui attribuer les droits zimbra : chown zimbra.zimbra /opt/zimbra/backup
Puis executer le script suivant : backup-zimbra-usr.sh
Script avec 55 lignes
001#!/bin/bash002#-------------------- INFORMATIONS -------------------------003#004# Description : Sauvegarde d'un utilisateur zimbra005# Autheur : O.Romain Jaillet-ramey (orj@lab3w.fr)006# Date-create : 20160614007# Date-modify : 20231107008#009#-------------------- INFORMATIONS -------------------------010 011DATE=`date +%Y-%m-%d-%H%M%S`012BACKUP_FOLDER="/opt/zimbra/backup/"013 014function import_compte()015{016USER=$1017RESOLVE="skip modify reset replace"018 019# https://wiki.zimbra.com/wiki/Zmmailbox020# "skip" ignore les doublons d'anciens éléments, c'est aussi la résolution de conflit par défaut.021# "modify" modifie les anciens éléments.022# "reset" supprimera l'ancien sous-dossier (ou la boîte aux lettres entière si /).023# "replace" les supprimera et les ressaisira.024 025/opt/zimbra/bin/zmmailbox -z -m $USER -t 0 postRestURL -u https://10.104.0.1 "//?fmt=tgz&resolve=reset" /tmp/account.tgz026# /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 postRestURL "//?fmt=tgz&resolve=modify" /tmp/account.tgz027}028 029 030function backup_compte()031{032USER=$1033 034/opt/zimbra/bin/zmmailbox -z -m $USER -t 0 getRestURL "//?fmt=tgz" > ${BACKUP_FOLDER}${USER}-$DATE.tar.gz035 036}037 038function backup_preferences()039{040USER=$1041su - zimbra -c "zmprov getAccount $USER > ${BACKUP_FOLDER}${USER}-$DATE-settings.txt"042}043 044if [ $1 ]; then045 046 047backup_compte048backup_preferences049 050fi051 052 053if [ ! $1 ]; then054echo "Utiliser: ./backup-zimbra-usr.sh user@domain.tld"055fi
On attribue les droits d'execution au script :
chown u+x /root/backup-zimbra-usr.sh et on lance le backup d'un utilisateur de cette manière /root/backup-zimbra-usr.sh user@domain.tld
Il y a aussi l'import postRestURL de notre sauvegarde zimbra utilisateur ;)
Le paramètre resolve= a plusieurs options :
Script avec 4 lignes
001"skip" ignore les doublons d'anciens éléments, c'est aussi la résolution de conflit par défaut.002"modify" change d'anciens éléments.003"reset" supprimera l'ancien sous-dossier (ou toute la boîte aux lettres si /).004"replace" les supprimera et les réintroduira.
A la sauvegarde en plus de notre boîte mails, documents etc..
il y la configuration, les préférences liée à l'utilisateur dans le fichier user@domain.tld-date-settings.txt
Script avec 53 lignes
001# name user@domain.tld002cn: O.Romain Jaillet-ramey003description: Administrative Account004displayName: O.Romain Jaillet-ramey005givenName: O006initials: Romain007mail: user@domain.tld008mail: alias1@domain.tld009mail: alias2@domain.tld010mail: alias3@domain.tld011mail: alias4@domain.tld012objectClass: inetOrgPerson013objectClass: zimbraAccount014objectClass: amavisAccount015sn: Jaillet-ramey016uid: o.romain.jaillet-ramey017userPassword: VALUE-BLOCKED018zimbraAccountStatus: active019zimbraAdminAuthTokenLifetime: 12h020zimbraAdminSavedSearches: Comptes en maintenance : (zimbraAccountStatus=*maintenance*)021zimbraAdminSavedSearches: Comptes verrouillés : (zimbraAccountStatus=*lockout*)022zimbraAdminSavedSearches: Comptes non actifs : (!(zimbraAccountStatus=*active*))023zimbraAdminSavedSearches: Comptes Admin : (|(zimbraIsAdminAccount=TRUE)(zimbraIsDelegatedAdminAccount=TRUE))024zimbraAdminSavedSearches: Comptes clôturés : (zimbraAccountStatus=*closed*)025zimbraAdminSavedSearches: Comptes externes : (zimbraIsExternalVirtualAccount=TRUE)026zimbraAdminSavedSearches: Comptes inactifs (90 jours) : (zimbraLastLogonTimestamp<=###JSON:{func: ZaSearch.getTimestampByDays, args:[-90]}###)027zimbraAdminSavedSearches: Comptes inactifs (30 jours) : (zimbraLastLogonTimestamp<=###JSON:{func: ZaSearch.getTimestampByDays, args:[-30]}###)028zimbraAllowAnyFromAddress: FALSE029zimbraArchiveAccountDateTemplate: yyyyMMdd030zimbraArchiveAccountNameTemplate: ${USER}-${DATE}@${DOMAIN}.archive031zimbraArchiveEnabled: FALSE032zimbraAttachmentsBlocked: FALSE033zimbraAttachmentsIndexingEnabled: TRUE034zimbraAttachmentsViewInHtmlOnly: FALSE035zimbraAuthTokenLifetime: 2d036zimbraAuthTokens: 1018345349|1585918982572|8.6.0_GA_1153037zimbraAuthTokens: 208497761|1585919168531|8.6.0_GA_1153038zimbraAuthTokens: 857057044|1585960591540|8.6.0_GA_1153039zimbraAuthTokens: 1368127013|1585961413830|8.6.0_GA_1153040zimbraBatchedIndexingSize: 20041zimbraCalendarCalDavSharedFolderCacheDuration: 1m042zimbraCalendarKeepExceptionsOnSeriesTimeChange: FALSE043zimbraCalendarMaxRevisions: 1044zimbraCalendarResourceDoubleBookingAllowed: TRUE045zimbraCalendarShowResourceTabs: TRUE046zimbraCommunityHomeURL: /integration/zimbracollaboration047zimbraCommunityUsernameMapping: uid048zimbraContactAutoCompleteEmailFields: email,email2,email3,workEmail1,workEmail2,workEmail3049zimbraContactAutoCompleteMaxResults: 20050zimbraContactEmailFields: email,email2,email3,email4,email5,email6,email7,email8,email9,email10,workEmail1,workEmail2,workEmail3051zimbraContactMaxNumEntries: 10000052zimbraContactRankingTableSize: 200053zimbraCreateTimestamp: 20160713041109Z
Script utilisé sur la "Release 8.6.0.GA.1153.UBUNTU14.64 UBUNTU14_64 FOSS edition".
Plus rapide et plus simple lors des migrations ^^ ;) Merci aux développeu(r)(se)s ZM :)
Liens Web Zimbra :
- WiKi Zimbra - Command Usage Zmmailbox
- Zimbra Collaboration Security Center
- Evolix : Howto Zimbra - Très bonne documentation, très complète.
Cordialement,
Romain


