備份Gmail的郵件-使用GYB(Got-Your-Back)

  • 6603
  • 0
  • 2013-09-11

備份Gmail的郵件-使用GYB(Got-Your-Back)

DotBlogs Tags:

因為 Gmail 前陣子有點斷線的狀況,而且我的付費 Gmail 也用了 2x GB 都沒備份過,所以 Survey 一些 Gmail 備份的方案,當然一定要是免費的啦!第一個找到的是 Gmail Backup,不過因為沒有指定 Label 備份的功能,而且備份下來的郵件都混在一起,檔案名稱很混亂,馬上就被我排除了:

104544

第二個是 Gmvault,功能齊全,線上資料足夠,最重要的是能直接轉換到 Thunderbird,有時間的話,下一篇我會寫他。

105900

第三個是 GYB,很簡單的工具,備份下來的格式是 *.eml,會依年、月、日切三層目錄存放,正好符合我這次『單純』的備份需求。

前置作業

1. 請先啟用 Gmail 的 IMAP 功能,並設定不限制 IMAP 資料夾中的郵件數量:

110623

2. 確定「所有郵件」和要備份的 Label 都已允許在 IMAP 中顯示:

110918

110945

請注意,GYB 指定 Label 時,只能使用英文,不能用中文喔,備份前請自行調整 Label 名稱。

開始執行GYB--取得授權

首先,請啟動命令提示字元,切換到 GYB 的執行目錄。Windows 7/8 有簡單點的做法,用檔案總管開啟 GYB 的資料夾,然後按住 Shift 鍵再按滑鼠右鍵,執行【在此處開啟命令視窗】:

110258

第一次執行,要先取得 Google 的授權。請輸入以下命令:

gyb --email youremail@gmail.com

GYB 會開啟 Google 的授權視窗,按【接受】鈕同意授權即可:

113044

113118

現在可以把瀏覽器關閉,回到命令提示字元,正確取得授權的話,應該就會開始執行備份的動作:

114410

通常這時候,要趕快按下 Ctrl + C,中斷備份作業,除非您真的打算直接備份所有信件到預設的資料夾(預設位置是 GYB 執行目錄下,會自動建立一個子資料夾)。

正確取得授權後,在 GYB 的執行目錄下,會多出一個 yourname@gmail.com.cfg 檔案,之後再執行就不需要重新取得授權了。

不過取得授權時,也有可能會看到下面的錯誤訊息:

113313

這個訊息表示,瀏覽器取得授權的時候,登入的帳號和 GYB 要備份的帳號不一致造成,只要用相同帳號,就可以解決此問題。

開始執行GYB--指定備份的 Label 和備份目的地

假設我們現在要備份有 Leisure 標籤的資料,並指定備份位置到 d:\temp\Leisure,請輸入以下命令:

gyb --email yourname@gmail.com --search "label:leisure" --local-folder "d:\temp\Leisure"

115710

其實 GYB 最重要的一個特色,就是 –-search 選項,它就等同於 Gmail 畫面上的搜尋功能,所以我們可以先在 Gmail 畫面上測試搜尋,然後把搜尋條件寫到 –-search 選項中。以下這個範例讓大家參考:

搜尋條件說明:

  • 指定 Label 為 technology
  • 日期區間:2012/1/1~2012/12/31
  • 信件關鍵字包含:Kendo 或 E-book

125851

gyb --email yourname@gmail.com --search "label:technology before:2012/1/1 after:2012/12/31 Kendo|E-book" --local-folder "d:\temp\Technology\Filter"

125927

最後,我們看一下備份完的目錄結構:

130222

130455

補充幾個實際操作會遇到的問題:

  • GYB 備份目的地,預設只會幫我們建立一層目錄,所以以上述例子是「d:\temp\Technology\Filter」,若實際只存在「d:\temp」,則執行備份會失敗,顯示:「WindowsError: [Error 3] 系統找不到指定的路徑。」錯誤訊息。
  • GYB 備份目的地,最後不可以加「\」符號,所以上述例子「d:\temp\Technology\Filter」可以,但若是「d:\temp\Technology\Filter\」,也會出現錯誤訊息。

--------
沒什麼特別的~
不過是一些筆記而已