Informations :
Dates
- Publish : : Friday 03 april 2020
- Modification : Friday 03 april 2020
- 818 views
Share :
Je vous met ici un script pour sauvegarder les comptes des utilisateurs de votre Webmail Zimbra html.
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 47 lignes
001#!/bin/bash 002#-------------------- INFORMATIONS ------------------------- 003# 004# Description : Sauvegarde d'un utilisateur zimbra 005# Autheur : O.Romain Jaillet-ramey (orj@lab3w.fr) 006# Date-create : 20160614 007# 008#-------------------- INFORMATIONS ------------------------- 009 010DATE=`date +%Y-%m-%d-%H%M%S` 011BACKUP_FOLDER="/opt/zimbra/backup/" 012 013function import_compte() 014{ 015 USER=$1 016 RESOLVE="skip modify reset" 017 018 /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 postRestURL "//?fmt=tgz&resolve=reset" /tmp/account.tgz 019 020} 021 022function backup_compte() 023{ 024 USER=$1 025 026 /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 getRestURL "//?fmt=tgz" > ${BACKUP_FOLDER}${USER}-$DATE.tar.gz 027 028} 029 030function backup_preferences() 031{ 032 USER=$1 033 su - zimbra -c "zmprov getAccount $USER > ${BACKUP_FOLDER}${USER}-$DATE-settings.txt" 034} 035 036if [ $1 ]; then 037 038 039 backup_compte 040 backup_preferences 041 042fi 043 044 045if [ ! $1 ]; then 046 echo "Utiliser: ./backup-zimbra-usr.sh user@domain.tld" 047fi
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.tld 002cn: O.Romain Jaillet-ramey 003description: Administrative Account 004displayName: O.Romain Jaillet-ramey 005givenName: O 006initials: Romain 007mail: user@domain.tld 008mail: alias1@domain.tld 009mail: alias2@domain.tld 010mail: alias3@domain.tld 011mail: alias4@domain.tld 012objectClass: inetOrgPerson 013objectClass: zimbraAccount 014objectClass: amavisAccount 015sn: Jaillet-ramey 016uid: o.romain.jaillet-ramey 017userPassword: VALUE-BLOCKED 018zimbraAccountStatus: active 019zimbraAdminAuthTokenLifetime: 12h 020zimbraAdminSavedSearches: 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: FALSE 029zimbraArchiveAccountDateTemplate: yyyyMMdd 030zimbraArchiveAccountNameTemplate: ${USER}-${DATE}@${DOMAIN}.archive 031zimbraArchiveEnabled: FALSE 032zimbraAttachmentsBlocked: FALSE 033zimbraAttachmentsIndexingEnabled: TRUE 034zimbraAttachmentsViewInHtmlOnly: FALSE 035zimbraAuthTokenLifetime: 2d 036zimbraAuthTokens: 1018345349|1585918982572|8.6.0_GA_1153 037zimbraAuthTokens: 208497761|1585919168531|8.6.0_GA_1153 038zimbraAuthTokens: 857057044|1585960591540|8.6.0_GA_1153 039zimbraAuthTokens: 1368127013|1585961413830|8.6.0_GA_1153 040zimbraBatchedIndexingSize: 20 041zimbraCalendarCalDavSharedFolderCacheDuration: 1m 042zimbraCalendarKeepExceptionsOnSeriesTimeChange: FALSE 043zimbraCalendarMaxRevisions: 1 044zimbraCalendarResourceDoubleBookingAllowed: TRUE 045zimbraCalendarShowResourceTabs: TRUE 046zimbraCommunityHomeURL: /integration/zimbracollaboration 047zimbraCommunityUsernameMapping: uid 048zimbraContactAutoCompleteEmailFields: email,email2,email3,workEmail1,workEmail2,workEmail3 049zimbraContactAutoCompleteMaxResults: 20 050zimbraContactEmailFields: email,email2,email3,email4,email5,email6,email7,email8,email9,email10,workEmail1,workEmail2,workEmail3 051zimbraContactMaxNumEntries: 10000 052zimbraContactRankingTableSize: 200 053zimbraCreateTimestamp: 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