如何在 Zimbra CE 中備份和還原單一郵箱

對於 Zimbra 開源版 (CE/FOSS),請將單一郵箱及其zmmailbox元資料匯出到 ZIP 壓縮包,然後將該壓縮包匯入臨時郵箱並進行驗證,之後再將任何內容還原到正式帳戶。這提供了一種實用的按郵箱匯出和復原方法。這與伺服器的即時備份不同:Zimbra 內建的zmbackup工作zmrestore流程被記錄為網路版功能,郵件信箱匯出不會備份 LDAP、伺服器設定、憑證或完整的 Zimbra 安裝。

以下命令遵循 Zimbra 官方發布的命令列和 REST 匯出文件。請在 Zimbra 伺服器上以zimbra作業系統使用者身分執行這些命令,替換為您自己的郵箱和備份路徑,並使用您正在使用的 Zimbra 版本進行測試。官方管理指南區分了 ZIP 和 TGZ 格式的內容:要匯出完整的郵箱,請使用 ZIP 格式meta=1;TGZ 格式的預設內容會省略日曆和任務。

Linux 終端機顯示 Zimbra release 和 mailbox-size 指令。
匯出前請檢查 Zimbra 版本和目標信箱大小。具體螢幕截圖和命令輸出因 Zimbra 版本而異;以下視圖僅供參考。

這種方法所支持的

zmmailbox呼叫 Zimbra 的 REST 匯出/匯入功能,針對選取的郵箱。啟用 ZIP 元資料後,歸檔檔案可以包含郵件、資料夾、聯絡人、日曆、任務以及其他郵箱項目(取決於已安裝的版本)。在將其用於合規性或遷移之前,請務必查閱相應的 Zimbra 管理員指南,確認其覆蓋範圍表和選項。

方法最佳匹配重要限制
ZIP和meta=1包含更廣泛項目範圍的單一郵箱內容匯出不捕獲伺服器配置,也不提供時間點增量復原。
TGZ預設導出當這種較窄的覆蓋範圍可以接受時,郵件和選定的郵箱資料也是可以接受的。Zimbra 目前的管理員指南將日曆和任務列為 TGZ 預設設定中排除的項目。
網路版備份工具計劃的完整/增量備份和帳戶級時間點恢復這些zmbackup工具zmrestore就是網路版功能。

如果您的目標是實現完整的伺服器災難恢復,請將郵箱匯出與單獨測試過的、版本匹配的完整伺服器和 LDAP 備份計劃結合使用。僅憑 ZIP 檔案無法重建 Zimbra 伺服器。

開始之前

  • 確認安裝和版本zmcontrol -v。在選擇備份工具之前,請檢查伺服器使用的是社群/開源軟體版本還是授權的網路版版本。
  • 確定郵箱的確切地址並檢查其大小。gms以下命令會報告郵箱大小;請預留足夠的空間以進行存檔和備份。
  • 選擇一個權限受限的備份目錄。最好使用獨立的檔案系統或備份主機,這樣郵件伺服器的磁碟故障就不會導致兩個備份都遺失。
  • 對於郵箱繁忙或容量較大的郵箱,請安排在活動較少的時間段執行導出操作。逾時選項-t 0指示zmmailbox不要套用正常的命令逾時時間;它不會使匯出操作成為原子操作或防止中斷。
  • 不要將未加密歸檔檔案的唯一副本儲存在易於存取的目錄中。應在檔案系統或備份儲存層套用加密,並限製檔案的讀取權限。

從 Zimbra CE 匯出一個郵箱

1. 檢查版本和信箱大小

開啟 root shell 或使用已核准的管理員會話,然後切換到該zimbra帳戶。確認版本並查詢要匯出的郵箱。例如:

su - zimbra
zmcontrol -v
zmmailbox -z -m alice@example.com gms

請使用真實地址,例如alice@example.com。在繼續操作之前,請確認其為正確的帳戶;此-m參數選擇命令將讀取或修改的郵箱。

2. 準備一個受限目的地

以 root 使用者身份,建立一個歸 Zimbra 帳戶所有的備份目錄,然後返回 Zimbra shell。根據您的儲存佈局調整路徑:

install -d -o zimbra -g zimbra -m 700 /srv/zimbra-mailbox-backups
su - zimbra
umask 077

目錄模式限制了對 Zimbra 帳戶的存取。請將最終備份副本保存在單獨的受保護系統或儲存目標上,作為您常規備份流程的一部分。切勿將唯一的存檔副本保存在即時郵箱儲存中。

3. 匯出為包含元資料的 ZIP 文件

執行郵箱匯出操作,並將其輸出重定向到一個帶有日期標記的存檔檔案名稱:

/opt/zimbra/bin/zmmailbox -z -m alice@example.com -t 0 gru "?fmt=zip&meta=1" > /srv/zimbra-mailbox-backups/alice-2026-10-07.zip

gru是 的官方縮寫getRestURL。帶有引號的查詢請求包含元資料的 ZIP 格式檔案。此-t 0選項會移除命令逾時,Zimbra 建議在匯出大型郵箱檔案時使用此選項。請保留查詢語句周圍的引號,以防止 shell 將 & 符號視為後台運算子。

等待命令返回提示符號並檢查其退出狀態後再移動存檔。如果郵箱非常大,請檢查可用空間和伺服器日誌,不要想當然地認為命令執行完畢就意味著匯出完成。不要讓其他行程覆蓋同名備份檔。

使用終端命令將 Zimbra 郵箱匯出為包含元資料的 ZIP 檔案。
使用包含元資料的 ZIP 格式可以匯出更全面的郵箱內容。具體的螢幕顯示和命令輸出因 Zimbra 版本而異;這些視圖僅供參考。

4. 測試壓縮檔案並確認文件

首先檢查匯出檔案是否存在,以及其大小是否為合理的非零值:

ls -lh /srv/zimbra-mailbox-backups/alice-2026-10-07.zip
unzip -t /srv/zimbra-mailbox-backups/alice-2026-10-07.zip

成功unzip -t表示 ZIP 容器可以讀取且未偵測到結構錯誤。但這並不能證明所有郵件或日曆項目都存在,因此在恢復測試中也需要檢查該存檔。如果您的備份流程使用校驗和,請記錄校驗和;並將校驗和與要驗證的副本一起儲存。

使用 unzip -t 指令對郵件信箱 ZIP 壓縮檔進行解壓縮。
在將 ZIP 壓縮包用作可用備份之前,請先測試該壓縮包。具體的螢幕截圖和命令輸出會因 Zimbra 版本而異;此處僅供參考。

5. 保護並複製存檔

使用您已核准的安全傳輸或備份系統,將檔案複製到單獨的備份目標位置。儲存時,請確保檔案包含清晰的郵箱識別碼、Zimbra 版本和匯出日期。對備份目標位置套用靜態加密和存取控制;請勿假定 ZIP 匯出檔案本身已加密。根據您的保留策略,保留多個復原副本,並定期測試伺服器外部位置的副本,而不僅僅是測試郵件主機上保留的檔案。

檔案管理器顯示備份目錄中的郵件信箱 ZIP 壓縮檔。
將歸檔檔案儲存在與即時郵件儲存區分開的受保護備份位置。具體的螢幕顯示和命令輸出因 Zimbra 版本而異;這些視圖僅供參考。

安全恢復郵箱

6. 建立臨時復原信箱

在將資料匯入正式郵箱之前,請在執行相容版本的測試或還原 Zimbra 伺服器上建立一個未使用的臨時帳戶。使用受控密碼並限制存取權限。您可以透過管理控制台或使用常規設定流程建立該帳戶。暫存信箱可讓您檢查存檔,而不會將其內容混入生產帳戶。

將歸檔檔案複製到 Zimbra 伺服器,並確保zimbra使用者可以讀取該檔案。在呼叫此方法之前,目標帳戶必須存在postRestURL。

Zimbra 管理員帳戶建立表單,其中包含恢復檢查郵箱地址。
建立一個單獨的恢復郵箱,用於安全恢復測試。具體的螢幕截圖和命令輸出因 Zimbra 版本而異;這些視圖僅供參考。

7. 匯入到恢復郵箱

使用postRestURL恢復帳戶作為目標,並resolve=skip採取保守的重複項處理方式:

/opt/zimbra/bin/zmmailbox -z -m restore-check@example.com -t 0 postRestURL "?fmt=zip&resolve=skip" /srv/zimbra-mailbox-backups/alice-2026-10-07.zip

這裡restore-check@example.com是臨時帳戶。 Zimbra 文件skip中預設的衝突處理方式是:跳過重複項。在空的暫存郵箱上,這提供了一個簡單的首次恢復測試。匯入行為和支援的項目類型可能因版本而異,因此請參考目標版本的文件並檢查結果。

使用 resolve=skip 將 ZIP 檔案匯入 Zimbra 還原郵箱的終端命令。
首先將檔案匯入復原郵箱,並在測試時跳過衝突處理。具體的螢幕截圖和命令輸出會因 Zimbra 版本而異;這些視圖僅供參考。

8. 恢復前驗證已恢復的數據

在 Zimbra Web 用戶端中開啟測試帳戶。檢查一些近期和較早的郵件、資料夾名稱、聯絡人、日曆條目、任務以及與此帳戶相關的任何其他重要資料。然後從 CLI 列出其資料夾和郵件數量:

/opt/zimbra/bin/zmmailbox -z -m restore-check@example.com gaf
/opt/zimbra/bin/zmmailbox -z -m restore-check@example.com gms

請將您看到的內容與預期的郵箱和匯出日期進行比較。如果使用者在匯出後繼續工作、匯出預設設定排除了已刪除的項目,或者目標版本對某些項目類型的處理方式不同,則計數結果不一定完全一致。重要的檢查是存檔文件能夠打開,並且客戶端可以使用預期的代表性內容。

Zimbra 網頁郵件視圖,顯示資料夾清單和選定的範例郵件。
在 Zimbra Web 用戶端中檢查已復原的資料夾和範例專案。具體的螢幕顯示和命令輸出因 Zimbra 版本而異;這些視圖僅供參考。
執行 zmmailbox gaf 的終端,顯示郵箱資料夾和郵件計數。
恢復測試後,比較資料夾名稱和郵件數量。具體的螢幕截圖和命令輸出因 Zimbra 版本而異;這些視圖僅供參考。

導入到原始郵箱

如果需要將匯出內容合併回現有郵箱,請將命令中的暫存位址替換為原始郵箱位址,並保留此命令resolve=skip以嘗試進行非破壞性合併。此操作旨在跳過重複項並匯入尚不存在的項目;它不會將郵箱回滾到先前的某個時間點或刪除較新的內容。

請勿隨意在生產帳戶上使用resolve=reset此功能resolve=replace。 Zimbra 文件重設會在匯入前刪除目標資料夾的現有內容;如果目標資料夾是郵件匣根目錄,則可能會清空郵件信箱。刪除操作會取代現有內容並重新建立匹配項。請先在臨時帳戶上測試該命令,並在進行任何生產環境匯入之前進行全新備份。如果需要完全回滾到特定時間點,請使用已授權的網路版復原工作流程或精心策劃的、適合您架構的伺服器層級復原流程。

常見問題和恢復檢查

  • 匯出檔案為空或異常小:請檢查指令的退出狀態、可用磁碟空間、郵件信箱權限以及 Zimbra 郵件匣日誌。解決此問題後,請使用新檔案名稱再次執行匯出操作。
  • 歸檔失敗unzip -t:請勿匯入。重新匯出到新文件,並檢查可用儲存空間以及任何中斷的 shell、SSH 或備份傳輸。
  • 日曆或任務缺失:請檢查匯出時是否使用了 ZIP 格式meta=1。 Zimbra 的格式表區分了 ZIP 和預設的 TGZ 內容。
  • 匯入報告可能出現重複或遺留較新資料的情況:這是使用跳躍式合併的預期結果。請使用單獨的暫存帳戶來檢查檔案並選擇特定的復原項,而不是對即時郵件信箱執行重設作業。
  • 此指令在處理大型信箱時會逾時:請確認信箱是否-t 0存在,並監控伺服器直到處理完成。除非您已評估匯出或匯入操作的狀態,否則請勿終止正在進行的操作。
  • 您需要伺服器範圍的復原:郵件信箱匯出不包含 LDAP、網域/帳戶設定、系統設定、憑證或完整郵件儲存的一致副本。請遵循單獨的、經過測試的完整伺服器備份計畫。

官方參考資料

參考資料和發布文件已於 2026 年 10 月 7 日核實。由於歸檔格式和 CLI 行為可能會發生變化,因此在對生產郵箱執行復原作業之前,請先驗證與您已安裝的 Zimbra 版本相符的文件。

留下評論

如何在 Zimbra CE 中備份和還原單一郵箱

如何在 Zimbra CE 中備份和還原單一郵箱

使用 zmmailbox 備份和還原單一 Zimbra CE 郵箱。匯出包含元資料的 ZIP 存檔,進行驗證,並在測試帳戶中安全地測試復原功能。

如何在 ownCloud oCIS 中為使用者配置儲存配額

如何在 ownCloud oCIS 中為使用者配置儲存配額

了解如何為 ownCloud Infinite Scale 使用者設定個人空間配額,將其與專案空間和全域限制區分開來,並按角色為新使用者指派預設值。

修復 BigBlueButton FreeSWITCH SIP 註冊逾時問題:實用診斷指南

修復 BigBlueButton FreeSWITCH SIP 註冊逾時問題:實用診斷指南

透過檢查服務運作狀況、SIP 和 ESL 監聽器、NAT 位址、防火牆規則和日誌來診斷 BigBlueButton FreeSWITCH SIP 註冊逾時問題。

如何修復 ownCloud 行動應用程式「連線被拒絕」錯誤

如何修復 ownCloud 行動應用程式「連線被拒絕」錯誤

透過檢查伺服器 URL、HTTPS 連接埠、Web 伺服器、防火牆、代理、TLS 和受信任的網域來修復 ownCloud 行動應用程式連線被拒絕的錯誤。

如何在自架的 Matrix 伺服器上限制使用者註冊

如何在自架的 Matrix 伺服器上限制使用者註冊

比較在 Synapse 上控制新 Matrix 帳戶的方法,從停用公用註冊到頒發有限用途的令牌,並提供設定範例和檢查。

修復 ownCloud 空白頁/白屏死機:選擇正確的恢復路徑

修復 ownCloud 空白頁/白屏死機:選擇正確的恢復路徑

修正 ownCloud 空白頁問題,首先要區分瀏覽器、PHP、應用程式、權限、升級和代理故障,然後選擇幹擾最小的復原路徑。

如何修復 Zimbra 的「Nginx 代理服務已停止」錯誤

如何修復 Zimbra 的「Nginx 代理服務已停止」錯誤

診斷 Zimbra 停止的 NGINX 代理,讀取正確的日誌,安全地重新啟動它,並檢查針對缺失配置、無效連接埠、憑證和上游故障的修復措施。

修正 Zimbra Amavis 佔用 100% CPU 且不中斷郵件流的問題

修正 Zimbra Amavis 佔用 100% CPU 且不中斷郵件流的問題

在進行任何有風險的變更之前,請先檢查佇列、日誌、SpamAssassin、ClamAV 和復原跡象,以了解如何診斷和修復 Zimbra Amavis CPU 佔用率達到 100% 的問題。

修正 iPhone 上的 Zimbra ActiveSync 連線錯誤

修正 iPhone 上的 Zimbra ActiveSync 連線錯誤

透過檢查帳戶詳細資料、憑證、憑證、網路路徑和伺服器策略來排查 iPhone 上的 Zimbra ActiveSync 錯誤,並比較安全的替代方案。

ownCloud Infinite Scale 與 Nextcloud 28:效能與記憶體使用情況詳解

ownCloud Infinite Scale 與 Nextcloud 28:效能與記憶體使用情況詳解

從架構、效能表現、記憶體需求、快取、擴充和實際部署權衡等方面比較 ownCloud Infinite Scale 和 Nextcloud 28。