iThome 會員中心 | iThome online | iT邦幫忙 | apphome

如何備份郵件伺服器上面的電子郵件?

標籤: mail server 郵件伺服器 郵件備份 mail backup

郵件伺服器儲存郵件的方式

一般來說,郵件伺服器利用資料庫或是以郵件原始檔.eml格式存放電子郵件。這兩種方法各有優缺點:
 
1. 資料庫:我們可以透過索引快速地查找郵件。但是,資料庫的維護需要一定的人工、軟體、硬體成本。
 
2. EML檔案: 將郵件以EML檔案儲存很容易,因為每一封經過編碼的郵件都是以EML的格式在做傳送。但是,一般傳統硬碟非常慢,尤其處理一封封本來就很小的EML檔案。這部分可以透過SSD (固態硬碟)來克服。很幸運地,現在SSD硬碟價格越來越便宜、容量越來越大、速度越來越快。

備份郵件伺服器的郵件

由於郵件伺服器是24/7的運行,備份所有新舊電子郵件是一項全年無休的工作:
1. 以資料庫為儲存方式的郵件伺服器,例如Microsoft Exchange Server,有專屬的備份工具軟體可以使用。例如: Backupassist, NovaSTOR或是Backup Exec。這些軟體有自己的know-how去備份mail store。
 
2. 以EML檔案為儲存方式的郵件伺服器,可以利用Outlook的PST檔案以及Windows內建的Backup and Restore完成備份的工作。
 
在下面的範例,我們利用Outlook跟Backup and Restore以EML檔案為儲存方式的EVO郵件伺服器:
 
首先,EVO Mail Server有兩個內建管理帳號,叫做 郵件備份管理者 (Backup Operator) 跟郵件備份校閱者 (Backup Auditor)。被賦予上述的管理帳號類型的郵件帳號可以管理或校閱所有或所屬網域下面的所有郵件帳號的電子郵件及其內容。
 
在Outlook建置上述管理者的郵件帳號之後,按照郵件伺服器上面的設置,可以看到兩種郵件排列形式。一個是所有郵件不分網域、部門、帳戶地只以INCOMING或OUTGOING的資料夾做排列,其中的順序是以收件日期和時間做排列。另一個是所有郵件分門別類的按照網域/部門/帳戶/日期的子資料夾做排列。現在我們可以循下面的步驟來做備份的工作 :

Part 1. EVO郵件伺服器介面上的設定:

1. 打開EVO Mail Server的GUI。
 
 
2. 點擊設定分頁,向下拉到郵件備份資料夾結構。
 
3. 點一下旁邊的選項可以選擇以DOMAIN (網域) 或DATE (日期) 的資料夾結構來管理備份郵件。(在這個教學中,我們使用以DATE (日期) 做排列)
 
 
4. 點擊帳戶分頁,點擊右下角新增按鍵來新增帳戶。
 
 
5. 確認部門是空白的。如果不是空白,此郵件備份管理員將只能看到同部門內所有帳戶的進出郵件。
 
 
6. 在輸入帳戶(我們這裡使用backupop)以及密碼之際,在後面的網域下拉選單,預設值是所有本地網域。此預設值讓郵件備份管理員能夠管理所有網域內所有郵件帳戶的進出郵件。如果在網域下拉選單中指定網域,該郵件備份管理員則只能管理該指定網域內所有郵件帳戶的進出郵件。
 
 
7. 確定帳戶、密碼之後,向下拉到帳戶類型點選郵件備份管理員。如果選擇郵件備份校閱者,則只能唯讀,無法做刪除的動作。
 
 
8. 之後,向下拉到確定按鈕並點擊它以儲存設定。
 

Part 2. 在Outlook添加郵件備份管理員的帳戶(此範例使用Outlook 2013)

1. 開啟Outlook。
 
 
2. 點擊左上角的檔案、新增帳戶之後,加入我們上面在EVO Mail Server裡面新增的郵件備份管理員帳戶。
 
 
3. 之後,在左手邊的Navigation Pane,我們會看到backupop@yourdomain.com的資料夾。
 
 
4. 展開上述資料夾,我們會看到INBOUND跟OUTBOUND子目錄。
 
 
5. 再次展開上述的兩個子目錄,會看到下面的兩個階層YYYY-MM (年-月)跟DD (日)。稍後,我們會利用這些年月及日為名的子目錄來做郵件的備份。
 

Part 3. 將郵件備份至Outlook PST資料夾中(此範例使用Outlook 2013)

1. 開啟Outlook,點擊左上角的新項目其他項目Outlook資料檔…。然後瀏覽至儲存郵件備份PST檔案的磁碟代號及資料夾位置。
 
 
2. 幫PST檔案取名,可參考格式為 mail_mm-yyyy.pst。範例為: mail_07-2017.pst。然後點擊確定。
 
 
3. 在左手邊的Navigation Pane,我們會看到一個叫做mail_07-2017的根資料夾。
 
 
4. 在mail_07-2017的根資料夾底下建立INBOUND跟OUTBOUND。
 
  
 
5. 等計畫備份的時日到了,例如規劃郵件備份每個星期日、每個月月底、每一季季尾等等。分別瀏覽至Part 2的INBOUND跟OUTBOUND。然後Copy & Paste YYYY-MM的資料夾 (例如2017-07) 至mail_07-2017.pst資料夾底下的對應INBOUND跟OUTBOUND資料夾底下。
 
INBOUND:
 --> 
 
OUTBOUND:
 --> 
 
備份:
 
 
6. 最後,點擊滑鼠右鍵在mail_07-2017資料夾上,點選關閉”mail_07-2017” 來關閉PST檔案。

Part 4. 調閱已經下線的郵件備份

1. 當同事向你要已經下線的郵件,例如一、兩年前甚至更久遠以前的郵件。先請他提供郵件的年、月、日、郵件主旨等等資訊。這樣子可以加速郵件查找。
 
2. 當你從郵件備份檔案裡面找到內含符合條件的PST檔時,在Outlook開啟該檔案。
 --> 
 
3. 在該PST檔內瀏覽到對應的年、月、日、帳戶等等。
 
 
4. 找到以後,可以直接轉寄給同事。如果很多個郵件檔,可以用附件的方法發出。
 

Part 5. 重整每個郵件帳號的UID順序

1. 當Part 4的郵件已經備份下來,我們可以將這些郵件從EVO郵件伺服器的Archive子目錄中刪除。
 
a. 找到已經備份的郵件檔案並予以刪除 : 瀏覽至
 
\\HOSTS\DEFAULT\ARCHIVE\INBOUND\ 資料夾
 
 
\HOSTS\DEFAULT\ARCHIVE\OUTBOUND\ 資料夾。
 
 
b. 回到Outlook的郵件備份管理員裡確認已經備份的郵件是否已經不在了?
 
2. 除了備份及刪除Archive資料夾裡面的舊郵件,在每個郵件帳戶裡面的舊郵件也需要被備份及刪除。EVO郵件伺服器提供一個命令列的小工具叫做emlclean.zip。用法如下:
 
a. 測試壓縮在來源資料夾裡面所有的eml檔案。此動作僅為測試,不會真的移動壓縮檔案。
emlclean.exe -movetest DAYS “source” “destination”
 
b. 實際壓縮在來源資料夾裡面所有的eml檔案並將此壓縮檔案移動至目標地。此動作會實際做移動壓縮檔案的動作。
emlclean.exe -move DAYS “source” “destination”
 
c. 此命令列指令會壓縮來源資料夾裡面所有非eml的檔案並將此壓縮檔案移動至目標地。
emlclean.exe -backup_no_eml “source” “destination”
 
3. 郵件管理員必須定期重整每個郵件帳號內所有郵件的UID順序。這個動作有利於郵件伺服器提取電子郵件檔案的速度。在每個郵件帳號的使用者帳戶編輯的視窗內下拉至IMAP UID最佳化並點擊該按鍵。
 
 
4. 在使用者帳戶編輯內的磁碟限額根據郵件帳戶使用者的身分設定磁碟空間上限。並設定超過限額時的的處理方式。(註 : EVO Mail Server在郵件硬碟只剩500MB的時候會停止所有服務,以防止磁碟空間被用光時造成的檔案損毀。)
 
 
5. 當郵件帳戶使用者發現自己的磁碟限額已經用光並無發收發郵件,一定會來找管理者。此時,建議用戶下面的步驟:
 
a. 在用戶的電腦上面建立本地PST檔案,並且在該PST檔案裡面建立子資料夾。
 
 
b. 從信箱裡圈選郵件然後拉到本地PST檔案裡面的子資料夾。
 
 
c. 同時,建議他們做好分類,以後查詢會快些。
 
Part 6. 備份整個EVO郵件伺服器郵件及設定檔案所在的資料夾
 
1. 用Windows的備份與還原
 
a. 瀏覽至控制台/備份與還原
 
 
b. 點擊設定備份
 
 
c. 設定選取儲存備份的位置,然後點擊下一步
 
 
d. 點擊讓我選擇然後點擊下一步
 
 
e. 取消勾選資料檔案底下所有的項目。
 
f. 瀏覽至 C:\ProgramData\EvoMailServer然後把旁邊的框打勾。如果有轉移資料路徑,則也需要瀏覽到該路徑資料夾,例如 D:\Mail,將這個路徑旁邊的框也打勾。另外,如果有安裝EVOServ (Roundcube及ECM),將C:\EVOServ也打勾。
 
 
g. 取消勾選包含磁碟機、系統槽 (C:)的系統映像項目。因為我們現在要備份的是郵件資料。
 
h. 點擊下一步
 
i. 確認備份設定一切無誤之後,點擊儲存設定並進行備份
 
2. 利用WinRAR將EVO Mail Server所有檔案都壓縮起來到一個RAR檔案。
 
a. WinRAR官網下載WinRAR並安裝。
 
b. 建立一個批次檔,內容如下,編輯結束後存成類似backupmailserver.bat的批次檔  (下方的雙斜線包括後面的文字僅為說明,不用編輯進批次檔):
 
@echo
@ready to backup EVO郵件伺服器檔案 . . .
pause
c:                     // 儲存EVO郵件伺服器檔案的磁碟代號
cd c:\ProgramData\EvoMailServer  // this folder must be created ahead of time
"c:\Program Files\WinRAR\winrar.exe" a –p(password) -av -r -ag+YYYY-MM-DD f:\mail_server_backup\-mail-server-backup.rar *.*
pause
 
如果有轉移資料路徑,則也需要涵括該路徑資料夾。在 b.批次碼的第2個pause下方加入下面的批次碼 :
 
@echo
@ready to backup EVO郵件伺服器轉移資料路徑檔案 . . .
pause
d:                     //儲存EVO郵件伺服器檔案已轉移資料路徑的磁碟代號
cd d:\Mail        // 此資料夾必須在執行批次檔之前就已存在
"c:\Program Files\WinRAR\winrar.exe" a –p(password) -av -r -ag+YYYY-MM-DD f:\mail_server_backup\-mail-server-backup_redirect.rar *.*
pause
 
c. 如果有安裝EVOServ (Roundcube及ECM),則也需要備份C:\EVOServ。建立另外一個批次檔,內容如下,編輯結束後存成類似backupevoserv.bat的批次檔  (下方的雙斜線包括後面的文字僅為說明,不用編輯進批次檔):
 
@echo
@ready to backup EVOServ檔案 . . .
pause
d:                     //儲存EVOServ檔案的磁碟代號,一定為C:
cd c:\               // 確認目前的路徑位置在C:的根目錄
"c:\Program Files\WinRAR\winrar.exe" a –p(password) -av -r -ag+YYYY-MM-DD f:\mail_server_backup\-mail-server-backup_evoserv.rar c:\EVOServ\
pause
 
d. 壓縮出來的檔案名會是這樣 :
 
yyyy-mm-dd- mail-server-backup.rar
yyyy-mm-dd- mail-server-backup_redirect.rar
yyyy-mm-dd- mail-server-backup_evoserv.rar
 
檔案開頭的年、月、日可以告訴我們這個備份檔案是何時建立的。
 
e. 要解壓縮還原的時候,用WinRAR開啟上面的RAR檔案,然後解壓縮至指定的資料夾。
2017-07-27 13:33:26

檢舉

討論

發表討論

檢舉的理由:

不當言論 惡意灌水 廣告行為 一文多貼 其他

補充檢舉理由(可省略),字數不可超過100字

▼ ADVERTISEMENT ▼



還不是iThome download會員? 立即加入!