Informations :
Dates
- Publish : : Friday 03 april 2020
- Modification : Friday 03 april 2020
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
#!/bin/bash #-------------------- INFORMATIONS ------------------------- # # Description : Sauvegarde d'un utilisateur zimbra # Autheur : O.Romain Jaillet-ramey (orj@lab3w.fr) # Date-create : 20160614 # #-------------------- INFORMATIONS ------------------------- DATE=`date +%Y-%m-%d-%H%M%S` BACKUP_FOLDER="/opt/zimbra/backup/" function import_compte() { USER=$1 RESOLVE="skip modify reset" /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 postRestURL "//?fmt=tgz&resolve=reset" /tmp/account.tgz } function backup_compte() { USER=$1 /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 getRestURL "//?fmt=tgz" > ${BACKUP_FOLDER}${USER}-$DATE.tar.gz } function backup_preferences() { USER=$1 su - zimbra -c "zmprov getAccount $USER > ${BACKUP_FOLDER}${USER}-$DATE-settings.txt" } if [ $1 ]; then backup_compte backup_preferences fi if [ ! $1 ]; then echo "Utiliser: ./backup-zimbra-usr.sh user@domain.tld" fi
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 :
"skip" ignore les doublons d'anciens éléments, c'est aussi la résolution de conflit par défaut. "modify" change d'anciens éléments. "reset" supprimera l'ancien sous-dossier (ou toute la boîte aux lettres si /). "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
# name user@domain.tld cn: O.Romain Jaillet-ramey description: Administrative Account displayName: O.Romain Jaillet-ramey givenName: O initials: Romain mail: user@domain.tld mail: alias1@domain.tld mail: alias2@domain.tld mail: alias3@domain.tld mail: alias4@domain.tld objectClass: inetOrgPerson objectClass: zimbraAccount objectClass: amavisAccount sn: Jaillet-ramey uid: o.romain.jaillet-ramey userPassword: VALUE-BLOCKED zimbraAccountStatus: active zimbraAdminAuthTokenLifetime: 12h zimbraAdminSavedSearches: Comptes en maintenance : (zimbraAccountStatus=*maintenance*) zimbraAdminSavedSearches: Comptes verrouillés : (zimbraAccountStatus=*lockout*) zimbraAdminSavedSearches: Comptes non actifs : (!(zimbraAccountStatus=*active*)) zimbraAdminSavedSearches: Comptes Admin : (|(zimbraIsAdminAccount=TRUE)(zimbraIsDelegatedAdminAccount=TRUE)) zimbraAdminSavedSearches: Comptes clôturés : (zimbraAccountStatus=*closed*) zimbraAdminSavedSearches: Comptes externes : (zimbraIsExternalVirtualAccount=TRUE) zimbraAdminSavedSearches: Comptes inactifs (90 jours) : (zimbraLastLogonTimestamp<=###JSON:{func: ZaSearch.getTimestampByDays, args:[-90]}###) zimbraAdminSavedSearches: Comptes inactifs (30 jours) : (zimbraLastLogonTimestamp<=###JSON:{func: ZaSearch.getTimestampByDays, args:[-30]}###) zimbraAllowAnyFromAddress: FALSE zimbraArchiveAccountDateTemplate: yyyyMMdd zimbraArchiveAccountNameTemplate: ${USER}-${DATE}@${DOMAIN}.archive zimbraArchiveEnabled: FALSE zimbraAttachmentsBlocked: FALSE zimbraAttachmentsIndexingEnabled: TRUE zimbraAttachmentsViewInHtmlOnly: FALSE zimbraAuthTokenLifetime: 2d zimbraAuthTokens: 1018345349|1585918982572|8.6.0_GA_1153 zimbraAuthTokens: 208497761|1585919168531|8.6.0_GA_1153 zimbraAuthTokens: 857057044|1585960591540|8.6.0_GA_1153 zimbraAuthTokens: 1368127013|1585961413830|8.6.0_GA_1153 zimbraBatchedIndexingSize: 20 zimbraCalendarCalDavSharedFolderCacheDuration: 1m zimbraCalendarKeepExceptionsOnSeriesTimeChange: FALSE zimbraCalendarMaxRevisions: 1 zimbraCalendarResourceDoubleBookingAllowed: TRUE zimbraCalendarShowResourceTabs: TRUE zimbraCommunityHomeURL: /integration/zimbracollaboration zimbraCommunityUsernameMapping: uid zimbraContactAutoCompleteEmailFields: email,email2,email3,workEmail1,workEmail2,workEmail3 zimbraContactAutoCompleteMaxResults: 20 zimbraContactEmailFields: email,email2,email3,email4,email5,email6,email7,email8,email9,email10,workEmail1,workEmail2,workEmail3 zimbraContactMaxNumEntries: 10000 zimbraContactRankingTableSize: 200 zimbraCreateTimestamp: 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 :
Cordialement,
Romain