Neben der bekannten Import- und Export- Funktion, die jeder Nutzer im Web-UI unter Einstellungen - Importieren/Exportieren in Eigenregie benutzen kann, steht dem Administrator per CLI ein Umfangreicher Werkzeugkasten zum Im- und Export von Daten zur Verfügung.
Als erste wichtige Voraussetzung für eine korrekte Funktion des Daten Ex- und Imports via CLI ist der Timeout für Socket-basierte CLI Operationen entsprechend anzupassen. Standardmäßig sind hier nur 30s konfiguriert, was bei größeren Datenmengen regelmäßig zu Fehlermeldungen und Abbrüchen führt.
ERROR: zclient.IO_ERROR (Read timed out) (cause: java.net.SocketTimeoutException Read timed out)
Hier ist als Nutzer zimbra folgender Befehl auszuführen:
[ "$(zmlocalconfig | grep socket_so_timeout | cut -d "=" -f 2 | xargs)" != "9000000" ] && zmlocalconfig -e socket_so_timeout=9000000 && zmlocalconfig -reload
Dieser Befehl prüft die Einstellung des Konfigurationsparameters socket_so_timeout
und stellt diesen dauerhaft auf 2,5h ein, um auch lang andauernde Operationen bei großen Datenmengen reibungslos auszuführen.
Ist diese Voraussetzung erfüllt, so kann mittels Kommando zmmailbox der eigentliche Ex- und Import durchgeführt werden. An dieser Stelle einige Beispiele:
/opt/zimbra/bin/zmmailbox -t 0 -z -m dennis.demo@domain.com gru "/Inbox/Sales?fmt=tgz" > /tmp/export_sales.tgz
exportiert den Ordner "Sales" im Postfach des Nutzers dennis.demo@domain.com nach /tmp/export_sales.tgz als GZip gepacktes TAR- Archiv. Das Kommando
/opt/zimbra/bin/zmmailbox -t 0 -z -m dennis.demo@domain.com gru "//?fmt=tgz" > /tmp/export_account.tgz
exportiert den gesamten Account des Nutzers dennis.demo@domain.com nach /tmp/export_sales.tgz
als GZip gepacktes TAR- Archiv.
Weiterführende Informationen zur Verwendung von zmmailbox
sind im Zimbra - Wiki zu finden: https://wiki.zimbra.com/wiki/Zmmailbox#Export/import_an_entire_account