ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, SHells, Sauvegardes de comptes utilisateurs Zimbra

Faire des sauvegardes des comptes utilisateurs Zimbra en étant administrateur de la machine.

Author : O.Romain.Jaillet-ramey

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/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#       Date-modify : 20231107
008#
009#-------------------- INFORMATIONS -------------------------
010
011DATE=`date +%Y-%m-%d-%H%M%S`
012BACKUP_FOLDER="/opt/zimbra/backup/"
013
014function import_compte()
015{
016        USER=$1
017        RESOLVE="skip modify reset replace"
018
019        # https://wiki.zimbra.com/wiki/Zmmailbox
020        # "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.tgz
026#       /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 postRestURL "//?fmt=tgz&resolve=modify"  /tmp/account.tgz
027}
028
029
030function backup_compte()
031{
032        USER=$1
033
034        /opt/zimbra/bin/zmmailbox -z -m $USER -t 0 getRestURL "//?fmt=tgz" > ${BACKUP_FOLDER}${USER}-$DATE.tar.gz
035
036}
037
038function backup_preferences()
039{
040        USER=$1
041        su - zimbra -c "zmprov getAccount $USER > ${BACKUP_FOLDER}${USER}-$DATE-settings.txt"
042}
043
044if [ $1 ]; then
045
046
047        backup_compte 
048        backup_preferences 
049
050fi
051
052
053if [ ! $1  ]; then
054        echo "Utiliser: ./backup-zimbra-usr.sh user@domain.tld"
055fi
Retirer les numéros de lignes

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.
Retirer les numéros de lignes

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
Retirer les numéros de lignes

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