跳到主要內容
節省工具箱Jason Tools
經驗分享

一次刪除 Zimbra 伺服器上全部的帳戶或網域

Jason Cheng 瀏覽 5,223 次
一次刪除 Zimbra 伺服器上全部的帳戶或網域
本文目錄
  1. 刪除大量帳戶
  2. 刪除大量網域
  3. 參考資料

Zimbra 的功能強大,尤其是 WebUI 的管理能力更是相當全面,絕大多數情況下管理者只需要在 Web 管理介面簡單點選,就可以完成建置與日常管理。

儘管如此,它也不缺乏 CLI 文字指令工具,最近在一個場景裡,需要將全部已建立好的大量帳戶與多個網域刪除,這時候用 CLI 明顯會快上許多。

刪除大量帳戶

請參考以下指令進行操作:

# 切換為 zimbra 帳戶
su zimbra

# 匯出使用者帳戶
zmprov -l gaa > /opt/tmp/accounts.zmp

# 若僅是要刪除後再重新匯入帳戶,請手動開啟匯出檔案,並將
# admin, gal, virus, spam, ham... 開頭系統帳戶移除
nano /opt/tmp/accounts.zmp

# 在每一行帳戶前加入 deleteAccount 命令
sed -i 's/^/deleteAccount &/g' /opt/tmp/accounts.zmp

# 執行大量帳戶刪除作業
zmprov < /opt/tmp/accounts.zmp

# 離開
exit

提醒:

刪除帳戶並不會將它所屬的郵件等相關物件一併刪除,若要完整連同相關的資料(郵件、行事曆、連絡人、公事包...等),請使用 WebUI 或寫 Script 呼叫 SOAP API,最為完整。

刪除大量網域

請參考以下指令進行操作:

# 切換為 zimbra 帳戶
su zimbra

# 匯出網域
zmprov -l gad > /opt/tmp/domains.zmp

# 若僅是要某些網域,請手動開啟匯出檔案,並將要保留的
# 相關網域名稱刪除
nano /opt/tmp/domains.zmp

# 在每一行網域前加入 deleteAccount 命令
sed -i 's/^/deleteDomain &/g' /opt/tmp/domains.zmp

# 執行大量網域刪除作業
zmprov < /opt/tmp/domains.zmp

# 離開
exit

參考資料

延伸閱讀