Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Aby utworzyć kopię zapasową jednej skrzynki pocztowej Zimbra Community Edition (CE), wyeksportuj ją jako plik TGZ za pomocą zmmailbox getRestURL, sprawdź poprawność archiwum i przywróć je za pomocą postRestURL. Podczas importowania na konto, które już zawiera pocztę, zacznij od resolve=skip; użycie resolve=resetw katalogu głównym skrzynki pocztowej może usunąć istniejące elementy.

Dowiedz się, co chroni eksport na skrzynkę pocztową

Zimbra eksportuje i importuje dokumenty TGZ za pośrednictwem interfejsu REST i zmmailboxnarzędzia. Archiwum ma na celu przechowywanie zawartości skrzynek pocztowych i struktury folderów, w tym wiadomości e-mail w plikach EML oraz odpowiednich danych kalendarza, kontaktów, zadań lub aktówki. To, jaka zawartość i metadane przetrwają import, zależy od wersji źródłowej i docelowej oraz przenoszonych elementów.

Nie należy mylić tego z pełną kopią zapasową konta lub serwera. Eksport zawartości TGZ nie tworzy brakującego konta ani nie zachowuje niezależnie wszystkich atrybutów LDAP, haseł, aliasów, przypisań klas usług, ustawień routingu, filtrów, uprawnień ani konfiguracji serwera. Wszelkie niezbędne ustawienia konta należy zarejestrować osobno, korzystając z procedur administracyjnych. Narzędzie zmbackupopisane w starszej dokumentacji Zimbra należy do wersji Network Edition, a nie do standardowego przepływu pracy w wersji CE.

Przykłady poleceń są zgodne z udokumentowanymi interfejsami Zimbra, ale nie stanowią one testu na żywo każdej niezależnie skompilowanej wersji CE. Przed zaplanowaniem odzyskiwania produkcyjnego sprawdź zmcontrol -vdostępne informacje, zmmailboxpomoc i notatki do wydania kompilacji. Nie należy również zakładać, że eksport REST na żywo przechwyci jeden idealnie spójny moment, jeśli użytkownik zmieni elementy podczas działania. Zaplanuj okno niskiej aktywności, gdy spójność ma znaczenie.

Eksportuj indywidualną skrzynkę pocztową

1. Zidentyfikuj konto i jego hosta poczty

Połącz się z serwerem Zimbra, używając konta w systemie operacyjnym z uprawnieniami administratora. Przełącz się na użytkownika usługi Zimbra, a następnie sprawdź, czy konto docelowe istnieje. W przypadku wdrożenia wieloserwerowego upewnij się, że łączysz się z właściwą usługą poczty elektronicznej.

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

Zastąp je user@example.comrzeczywistym kontem. Przełącznik -zkorzysta z lokalnych danych logowania administratora Zimbra; nie jest to hasło użytkownika końcowego. Jeśli nie masz niezbędnych uprawnień administracyjnych, skorzystaj z zatwierdzonego przepływu pracy dostępu do konta zamiast osadzać hasła w poleceniu powłoki.

Terminal pokazujący wyszukiwanie konta Zimbra z hostem skrzynki pocztowej i aktywnym statusem
Przed rozpoczęciem eksportu sprawdź adres skrzynki pocztowej, serwer hostujący i status konta.

2. Utwórz prywatną lokalizację archiwum

Jako uprzywilejowany użytkownik systemu operacyjnego utwórz lokalizację, do której użytkownik usługi Zimbra będzie mógł zapisywać. Zrób to poza katalogami publicznymi i najpierw sprawdź ilość wolnego miejsca. Uruchom polecenie instalacyjne przed przełączeniem się na [ zimbralub wróć do swojego uprzywilejowanego konta].

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

Archiwa poczty mogą zawierać poufne wiadomości i załączniki. Ogranicz dostęp do systemu plików, chroń kopie znajdujące się poza serwerem i stosuj odpowiednie zasady przechowywania.

Terminal pokazujący prywatny katalog kopii zapasowej skrzynki pocztowej i listę uprawnień systemu Unix
Użyj prywatnego katalogu kopii zapasowych i sprawdź uprawnienia systemu plików.

3. Eksportuj skrzynkę pocztową jako TGZ

Z zimbrapoziomu powłoki użyj poniższego eksportera REST. Ta -t 0opcja wyłącza limit czasu CLI dla dużych operacji; nie gwarantuje jednak, że proxy, wejście/wyjście dysku lub limity serwera nie zakłócą eksportu.

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

Uruchom jeden eksport dla każdego konta i wybierz datę i unikalną nazwę pliku. Nie używaj ponownie poprzedniej ścieżki archiwum, ponieważ przekierowanie powłoki ją skróci. Jeśli polecenie zgłosi błąd, traktuj plik wynikowy jako niekompletny, dopóki nie przejdzie poniższych kontroli.

Terminal pokazujący polecenie zmmailbox getRestURL eksportujące skrzynkę pocztową do pliku TGZ
Polecenie getRestURL zapisuje skompresowane archiwum skrzynki pocztowej w wybranym katalogu.

4. Sprawdź poprawność archiwum i zapisz jego sumę kontrolną

Niepusty plik TGZ nie stanowi dowodu na odzyskiwalność kopii zapasowej. Przetestuj cały strumień tar, sprawdź reprezentatywne wpisy w folderach i oblicz skrót. Niepowodzenie kontroli tar oznacza, że ​​powinieneś zbadać eksport, a nie import pliku.

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

Zapisz sumę kontrolną obok archiwum i przenieś oba pliki do chronionego magazynu poza oryginalnym serwerem. Po skopiowaniu uruchom sha256sum -c user-20261010.tgz.sha256w katalogu zawierającym oba pliki. Poprawna suma kontrolna potwierdza integralność bajtów, a nie to, że każda funkcja skrzynki pocztowej zostanie poprawnie przywrócona.

Terminal pokazujący istnienie archiwum, integralność gzip i listę folderów skrzynki pocztowej
Przed potraktowaniem eksportu jako użytecznej kopii odzyskiwania należy sprawdzić archiwum.
Terminal pokazujący sumę kontrolną SHA-256 dla pliku TGZ skrzynki pocztowej
Zarejestruj skrót SHA-256, aby można było sprawdzić, czy w przesłanym archiwum nie zaszły jakieś zmiany.

Przywróć archiwum bez nadpisywania poczty na żywo

5. Przygotuj i sprawdź skrzynkę pocztową docelową

Utwórz konto docelowe za pomocą standardowego, zatwierdzonego procesu provisioningu Zimbra, jeśli jeszcze nie istnieje; import TGZ go nie utworzy. Sprawdź jego adres, limit, dostęp do usługi i istniejące foldery. Do pierwszego testu użyj odizolowanego konta nieprodukcyjnego, szczególnie w przypadku transferów między wersjami.

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

Skopiuj zweryfikowane archiwum do katalogu, który może odczytać użytkownik docelowej usługi Zimbra, zachowując ograniczone uprawnienia. W przypadku transferu zdalnego ponownie sprawdź sumę kontrolną w miejscu docelowym. Nie zakładaj, że konto o tym samym adresie jest puste.

Terminal pokazujący atrybuty konta z polecenia provisioningu Zimbra
Przed zaimportowaniem elementów skrzynki pocztowej sprawdź, czy wybrane konto docelowe istnieje.

6. Importuj z polityką dotyczącą konfliktów, która odpowiada miejscu docelowemu

Aby dodać brakujące elementy, pozostawiając pasujące elementy na miejscu, użyj resolve=skip. Jest to udokumentowane domyślne zachowanie w przypadku obsługi duplikatów, ale nie gwarantuje idealnego scalania dla każdego typu lub wersji elementu.

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

Unikaj kopiowania destrukcyjnego przykładu do produkcji. Dokumenty Zimbra resolve=resetsłużą do czyszczenia elementów docelowych przed importem. Zasady replacei modifyzmieniają również sposób obsługi istniejących elementów. Rozważ ich kontrolowane przywracanie dopiero po przetestowaniu i uzyskaniu zgody na dokładny zakres konta i folderu.

Terminal pokazujący zmmailbox postRestURL z opcją resolve=skip
Importuj archiwum z zasadą pomijania konfliktów, jeśli istniejąca zawartość skrzynki pocztowej musi zostać zachowana.

Obsługa błędów eksportu i weryfikacja odzyskiwania

W przypadku przekroczenia limitu czasu, zachowaj -t 0i sprawdź limity czasu serwera lub proxy oraz limity pamięci masowej; zerowy limit czasu CLI nie rozwiązuje wszystkich problemów sieciowych. Wiki pomocy technicznej Zimbra ostrzega również o uszkodzonych archiwach i awariach wejścia/wyjścia w przypadku niektórych dużych eksportów skrzynek pocztowych. W przypadku eksportu o zbyt dużym rozmiarze lub o zawodności, podziel pracę według folderu lub daty, a następnie przetestuj każde archiwum i jego import na zapasowym koncie.

Na przykład udokumentowane zapytanie wyszukiwania under:Inboxwybiera zawartość skrzynki odbiorczej i jej podfoldery. Cudzysłowy wokół adresu URL REST są niezbędne, ponieważ znak ampersand musi dotrzeć do Zimbry, a nie do powłoki.

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

Archiwum obejmujące cały folder nie zastępuje pełnego eksportu skrzynki pocztowej. Należy niezależnie zweryfikować jego zawartość i udokumentować, które foldery lub daty zostały pominięte. Jeśli konto jest wyłączone lub żądanie zwróci błąd autoryzacji, należy sprawdzić status konta i uwierzytelnianie administracyjne zamiast pomijać sprawdzanie certyfikatu TLS lub ujawniać dane uwierzytelniające.

7. Sprawdź przywrócone elementy, a nie tylko wyjście polecenia

Wypisz foldery docelowe i porównaj je z zarejestrowanymi folderami źródłowymi i inwentarzem TGZ:

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

Następnie zaloguj się na konto testowe i otwórz próbkę odebranych i wysłanych wiadomości, załączników, kontaktów i wydarzeń w kalendarzu. Sprawdź daty i ścieżki folderów oraz ewentualne błędy importu. W razie potrzeby utwórz ponownie lub sprawdź osobno aliasy, uprawnienia udostępniania, reguły i inne ustawienia na poziomie konta. Odzyskiwanie danych należy uznać za pomyślne dopiero po uzyskaniu dostępu do oczekiwanych danych i zarejestrowaniu sprawdzeń.

Terminal pokazujący nazwy folderów Zimbra zwrócone przez getAllFolders
Porównaj przywróconą Skrzynkę odbiorczą, Wysłane, Kalendarz i inne foldery z oczekiwaną zawartością archiwum.

Główne źródła: odniesienia do poleceń Zimbra zmmailbox , odniesienia do interfejsu REST API Zimbra , odniesienia do administracji Zimbra zmprov oraz artykuł Zimbra na temat eksportów zakresowych i ostrzeżeń dotyczących dużych archiwów . Niektóre przykłady wiki Zimbra są starsze lub oznaczone jako „w trakcie realizacji”; sprawdź ich działanie w zainstalowanej kompilacji CE przed użyciem ich w środowisku produkcyjnym.

Zostaw komentarz

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Twórz kopie zapasowe plików Nextcloud i MariaDB, planuj zaszyfrowane migawki Restic za pomocą cron i weryfikuj odzyskiwanie bez narażania serwera na ryzyko.

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Eksportuj pojedynczą skrzynkę pocztową Zimbra Community Edition, sprawdzaj poprawność kopii zapasowej TGZ i przywracaj brakujące elementy bez nadpisywania istniejącej poczty.

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Zezwalaj tylko zatwierdzonym kontom na otwieranie pokoi Jitsi Meet przy użyciu Keycloak i uwierzytelniania tokenem, jednocześnie zapewniając możliwość dołączania gościom, gdy będzie to potrzebne.

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Połącz ONLYOFFICE DocSpace z usługą Active Directory lub OpenLDAP, bezpiecznie importuj użytkowników i grupy, mapuj pola kont i planuj niezawodną synchronizację.

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Zainstaluj niestandardowe czcionki w serwerze dokumentów ONLYOFFICE, porównaj trwałe instalacje Docker z kopiami bezpośrednimi, utwórz ponownie listę czcionek i zweryfikuj wynik.

Debian 12 na serwerze VPS z małą ilością pamięci RAM: Jak ograniczyć awarie MySQL spowodowane brakiem pamięci (OOM)

Debian 12 na serwerze VPS z małą ilością pamięci RAM: Jak ograniczyć awarie MySQL spowodowane brakiem pamięci (OOM)

Diagnozuj błędy OOM MySQL w systemie Debian 12, sprawdzaj limity pamięci VPS, konfiguruj wymianę oraz dostosowuj pamięć i współbieżność bazy danych, nie obiecując przy tym uniwersalnego rozwiązania.

Umieść dokumenty ONLYOFFICE w HAProxy bez przerywania edycji

Umieść dokumenty ONLYOFFICE w HAProxy bez przerywania edycji

Skonfiguruj protokół HAProxy HTTPS, przekazywanie nagłówków, limity czasu WebSocket i kontrole kondycji dla dokumentów ONLYOFFICE, a następnie zweryfikuj edycję i zapisy.

Instalacja i podpisywanie niestandardowych modułów jądra w bezpiecznym rozruchu SLES 15

Instalacja i podpisywanie niestandardowych modułów jądra w bezpiecznym rozruchu SLES 15

Załaduj niestandardowy moduł jądra SLES 15 bez wyłączania funkcji Secure Boot. Dopasuj uruchomiony moduł jądra, podpisz plik .ko, zarejestruj klucz MOK i zweryfikuj ładowanie.

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Wysyłaj logi systemu SLES do zdalnego kolektora rsyslog za pośrednictwem uwierzytelnionego protokołu TLS, z kontrolą certyfikatów, buforowaniem przerw i testami dostarczania.

Uruchamianie systemu Ubuntu Server w trybie awaryjnym: przewodnik ratunkowy krok po kroku

Uruchamianie systemu Ubuntu Server w trybie awaryjnym: przewodnik ratunkowy krok po kroku

Bezpieczna diagnostyka trybu awaryjnego Ubuntu Server. Odczytaj logi rozruchu, sprawdź montowania roota i fstab, napraw uszkodzoną jednostkę, obsłuż błędy systemu plików i zweryfikuj czysty restart.