Eseguire il backup e il ripristino di una casella di posta Zimbra CE utilizzando le esportazioni TGZ.

Per eseguire il backup di una casella di posta Zimbra Community Edition (CE), esportala come file TGZ con zmmailbox getRestURL, convalida l'archivio e ripristinalo con postRestURL. Quando importi in un account che contiene già posta, inizia con resolve=skip; l'utilizzo resolve=resetdi nella directory principale della casella di posta può rimuovere gli elementi esistenti.

Comprendere cosa protegge un'esportazione per casella di posta

Zimbra documenta l'esportazione e l'importazione di file TGZ tramite la sua interfaccia REST e zmmailboxla relativa utility. L'archivio è progettato per contenere il contenuto della casella di posta e la struttura delle cartelle, inclusi i messaggi di posta elettronica impacchettati come file EML e i relativi dati di calendario, contatti, attività o Briefcase. Il contenuto e i metadati che vengono conservati dopo l'importazione possono dipendere dalle versioni di origine e di destinazione e dagli elementi trasferiti.

Non confondere questa operazione con un backup completo dell'account o del server. Un'esportazione di contenuti TGZ non crea un account mancante né conserva in modo indipendente tutti gli attributi LDAP, le password, gli alias, le assegnazioni di classe di servizio, le impostazioni di routing, i filtri, le autorizzazioni o la configurazione del server. Registra separatamente le impostazioni dell'account necessarie utilizzando le procedure amministrative. L' zmbackuputilità descritta nella documentazione Zimbra precedente appartiene alla Network Edition, non al flusso di lavoro standard della CE.

Gli esempi di comando seguono le interfacce documentate di Zimbra, ma non rappresentano un test in tempo reale di ogni versione CE compilata in modo indipendente. Consultare la documentazione zmcontrol -v, zmmailboxla guida disponibile e le note di rilascio della propria build prima di pianificare un ripristino in produzione. Inoltre, non si deve presumere che un'esportazione REST in tempo reale catturi un istante perfettamente coerente se l'utente modifica gli elementi durante l'esecuzione. Pianificare un intervallo di tempo con bassa attività quando la coerenza è importante.

Esporta la singola casella di posta

1. Identificare l'account e il relativo host di posta.

Connettiti al server Zimbra con un account del sistema operativo con privilegi di amministratore. Passa all'utente del servizio Zimbra e verifica che l'account di destinazione esista. In una distribuzione multi-server, assicurati di connetterti al servizio di posta elettronica corretto.

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

Sostituisci user@example.comcon l'account effettivo. Il -zpassaggio utilizza le credenziali dell'amministratore locale di Zimbra; non la password dell'utente finale. Se non disponi dei diritti amministrativi necessari, utilizza un flusso di lavoro di accesso all'account approvato anziché incorporare le password in un comando shell.

Terminale che mostra una ricerca dell'account Zimbra con host della casella di posta e stato attivo
Prima di avviare l'esportazione, verifica l'indirizzo della casella di posta, il server di hosting e lo stato dell'account.

2. Creare una posizione di archivio privata

Come utente del sistema operativo con privilegi elevati, crea una posizione scrivibile dall'utente del servizio Zimbra. Esegui questa operazione al di fuori delle directory pubbliche e verifica prima lo spazio libero. Esegui il comando di installazione prima di passare a zimbra, oppure torna al tuo account con privilegi elevati.

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

Gli archivi di posta elettronica possono contenere messaggi e allegati riservati. Limita l'accesso al file system, proteggi qualsiasi copia esterna al server e applica una politica di conservazione appropriata.

Terminale che mostra una directory di backup di una casella di posta privata e l'elenco dei permessi Unix.
Utilizza una directory di backup privata e verifica i permessi del file system.

3. Esporta la casella di posta come TGZ

Da una zimbrashell, utilizzare l'esportatore REST riportato di seguito. L' -t 0opzione disabilita il timeout della CLI per le operazioni di grandi dimensioni; non garantisce che proxy, I/O del disco o limiti del server non possano interrompere l'esportazione.

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

Eseguite un'esportazione per ogni account e scegliete un nome file univoco e datato. Non riutilizzate un percorso di archivio precedente perché il reindirizzamento della shell lo troncherà. Se il comando segnala un errore, considerate il file risultante incompleto finché non supera i controlli descritti di seguito.

Terminale che mostra zmmailbox getRestURL durante l'esportazione di una casella di posta in un file TGZ
Il comando getRestURL scrive un archivio compresso della casella di posta nella directory selezionata.

4. Convalidare l'archivio e registrarne il checksum

Un file TGZ non vuoto non è una prova di un backup recuperabile. Analizza l'intero flusso tar, esamina le voci delle cartelle rappresentative e calcola un digest. Un controllo tar fallito significa che dovresti esaminare l'esportazione piuttosto che importare il file.

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

Salva il checksum accanto all'archivio e sposta entrambi in una posizione protetta al di fuori del server originale. Dopo la copia, esegui il comando sha256sum -c user-20261010.tgz.sha256nella directory contenente i due file. Un checksum positivo conferma l'integrità dei byte, non che tutte le funzionalità della casella di posta verranno ripristinate correttamente.

Terminale che mostra l'esistenza dell'archivio, l'integrità della compressione gzip e un elenco delle cartelle della casella di posta.
Prima di considerare l'esportazione come una copia di ripristino utilizzabile, ispeziona l'archivio.
Terminale che mostra il checksum SHA-256 per un file TGZ di una casella di posta
Registra un digest SHA-256 in modo che l'archivio trasferito possa essere controllato per eventuali modifiche.

Ripristina l'archivio senza sovrascrivere la posta attiva

5. Preparare e ispezionare la cassetta postale di destinazione

Se l'account di destinazione non esiste già, createlo tramite la normale procedura di provisioning Zimbra approvata; l'importazione TGZ non lo creerà. Verificate l'indirizzo, la quota, l'accesso ai servizi e le cartelle esistenti. Per il primo test, utilizzate un account isolato non di produzione, soprattutto per i trasferimenti tra versioni diverse.

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

Copia l'archivio convalidato in una directory leggibile dall'utente del servizio Zimbra di destinazione, mantenendo le autorizzazioni limitate. Per un trasferimento remoto, verifica nuovamente il checksum a destinazione. Non dare per scontato che un account con lo stesso indirizzo sia vuoto.

Terminale che mostra gli attributi dell'account dal comando di provisioning di Zimbra
Prima di importare gli elementi della casella di posta, verificare che l'account di destinazione previsto esista.

6. Importare con una politica di gestione dei conflitti adeguata al paese di destinazione.

Per aggiungere gli elementi mancanti mantenendo quelli corrispondenti, utilizzare resolve=skip. Questo è il comportamento predefinito documentato per la gestione dei duplicati, ma non garantisce una fusione perfetta per ogni tipo di elemento o versione.

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

Evitate di copiare un esempio dannoso in produzione. Zimbra documenta resolve=resetla pulizia degli elementi di destinazione prima dell'importazione. Le replacepolitiche modifymodificano anche il modo in cui vengono gestiti gli elementi esistenti. Considerateli per un ripristino controllato solo dopo averli testati e aver ottenuto l'approvazione per l'esatto account e ambito di cartella.

Il terminale mostra zmmailbox postRestURL con l'opzione resolve=skip
Importa l'archivio con i criteri di ignoramento dei conflitti quando è necessario conservare il contenuto esistente della casella di posta.

Gestire gli errori di esportazione e verificare il ripristino

Se si verifica un timeout, conservare -t 0e analizzare il timeout del server o del proxy e i limiti di archiviazione; un timeout CLI pari a zero non risolve tutti i problemi di rete. Il wiki di supporto di Zimbra avverte anche di archivi danneggiati e errori di I/O in alcune esportazioni di caselle di posta di grandi dimensioni. Per un'esportazione di grandi dimensioni o inaffidabile, suddividere il lavoro per cartella o per data, quindi testare ciascun archivio e la relativa importazione su un account di riserva.

Ad esempio, la query di ricerca documentata under:Inboxseleziona il contenuto della Posta in arrivo e le relative sottocartelle. Le virgolette attorno all'URL REST sono essenziali perché la e commerciale deve raggiungere Zimbra e non la shell.

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

Un archivio limitato a una cartella non sostituisce l'esportazione completa della casella di posta. Verificane il contenuto in modo indipendente e documenta quali cartelle o date sono state omesse. Se l'account è disabilitato o la richiesta restituisce un errore di autorizzazione, controlla lo stato dell'account e l'autenticazione amministrativa anziché ignorare i controlli del certificato TLS o esporre le credenziali.

7. Verificare gli elementi ripristinati, non solo l'uscita dal comando.

Elenca le cartelle di destinazione e confrontale con le cartelle di origine registrate e con l'inventario TGZ:

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

Accedi quindi all'account di test di destinazione e apri un campione di messaggi ricevuti e inviati, allegati, contatti ed eventi del calendario. Verifica le date e i percorsi delle cartelle e controlla eventuali errori di importazione. Se necessario, ricrea o verifica separatamente alias, autorizzazioni di condivisione, regole e altre impostazioni a livello di account. Considera il ripristino riuscito solo quando i dati previsti sono accessibili e i controlli sono stati registrati.

Terminale che mostra i nomi delle cartelle di Zimbra restituiti da getAllFolders
Confronta il contenuto delle cartelle Posta in arrivo, Posta inviata, Calendario e altre, ripristinate, con il contenuto previsto dell'archivio.

Riferimenti principali: documentazione del comando zmmailbox di Zimbra , documentazione dell'API REST di Zimbra , documentazione di amministrazione di zmprov di Zimbra e articolo di Zimbra sulle esportazioni con ambito limitato e sulle precauzioni relative agli archivi di grandi dimensioni . Alcuni esempi presenti nella wiki di Zimbra sono datati o contrassegnati come "in fase di sviluppo"; verificate il loro comportamento sulla versione CE installata prima di utilizzarli in produzione.

Lascia un commento

Automatizza i backup coerenti di Nextcloud con Restic e Cron.

Automatizza i backup coerenti di Nextcloud con Restic e Cron.

Esegui il backup simultaneo dei file di Nextcloud e di MariaDB, pianifica snapshot crittografati di Restic tramite cron e verifica il ripristino senza mettere a rischio il server di produzione.

Metti ONLYOFFICE Docs dietro HAProxy senza interrompere la modifica

Metti ONLYOFFICE Docs dietro HAProxy senza interrompere la modifica

Configura HAProxy HTTPS, l'inoltro delle intestazioni, i timeout WebSocket e i controlli di integrità per ONLYOFFICE Docs, quindi verifica le modifiche e i salvataggi.

Aggiungere font al server di documenti ONLYOFFICE: Docker vs Linux

Aggiungere font al server di documenti ONLYOFFICE: Docker vs Linux

Installa i font personalizzati in ONLYOFFICE Document Server, confronta i mount Docker persistenti con le copie dirette, ricostruisci l'elenco dei font e verifica il risultato.

Debian 12 su un VPS con poca RAM: come ridurre i crash di MySQL dovuti a errori di memoria insufficiente (OOM).

Debian 12 su un VPS con poca RAM: come ridurre i crash di MySQL dovuti a errori di memoria insufficiente (OOM).

Diagnosticare i kill di MySQL OOM su Debian 12, verificare i limiti di memoria del VPS, configurare lo swap e ottimizzare la memoria e la concorrenza del database, senza promettere una soluzione universale.

Eseguire il backup e il ripristino di una casella di posta Zimbra CE utilizzando le esportazioni TGZ.

Eseguire il backup e il ripristino di una casella di posta Zimbra CE utilizzando le esportazioni TGZ.

Esporta una singola casella di posta Zimbra Community Edition, convalida il relativo backup TGZ e ripristina gli elementi mancanti senza sovrascrivere la posta esistente.

Consenti agli utenti autorizzati di creare stanze Jitsi con l'accesso tramite Keycloak.

Consenti agli utenti autorizzati di creare stanze Jitsi con l'accesso tramite Keycloak.

Consenti solo agli account approvati di avviare stanze Jitsi Meet utilizzando l'autenticazione tramite Keycloak e token, mantenendo al contempo la possibilità per gli ospiti di partecipare quando necessario.

Come configurare una VPN WireGuard Point-to-Site su Debian 12

Come configurare una VPN WireGuard Point-to-Site su Debian 12

Configura un server VPN WireGuard su Debian 12 per un client remoto. Configura le chiavi, l'inoltro IPv4, il NAT con nftables, l'accesso tramite firewall e i controlli di connessione.

Sincronizza gli utenti di Active Directory con ONLYOFFICE DocSpace tramite LDAP

Sincronizza gli utenti di Active Directory con ONLYOFFICE DocSpace tramite LDAP

Collega ONLYOFFICE DocSpace ad Active Directory o OpenLDAP, importa utenti e gruppi in modo sicuro, mappa i campi dell'account e pianifica una sincronizzazione affidabile.

Installazione e firma di moduli kernel personalizzati su Secure Boot SLES 15

Installazione e firma di moduli kernel personalizzati su Secure Boot SLES 15

Carica un modulo kernel SLES 15 personalizzato senza disabilitare Secure Boot. Fai corrispondere il kernel in esecuzione, firma il file .ko, registra una chiave MOK e verifica il caricamento.

Inoltro sicuro dei log Syslog SLES con rsyslog e TLS reciproco

Inoltro sicuro dei log Syslog SLES con rsyslog e TLS reciproco

Invio dei log di sistema SLES a un collettore rsyslog remoto tramite TLS autenticato, con verifica dei certificati, buffering in caso di interruzione del servizio e test di consegna.