2015年9月13日 星期日

備份/清空 gmail, 以及命令列查詢/切割 mbox 格式檔案

從 google takeout 下載 gmail 查看一下 你的 google 帳號儲存空間使用狀況 吧! 以我而言, 空間用量經常佔最大宗的是 gmail。 所以每年暑假都要把一整年份的 e-mail 從雲端拉到自己的硬碟備份、 把雲端信箱清空。 特別是因為 google 堅持不讓你很輕易地處理 「封存」 的信件, 所以我平常很刻意地避免 「封存」。 即使如此, 還是會有一些 mail 莫名奇妙地被 google 自動 「封存」。 唯有在備份完成、 把 mail 刪到剩下一點點的時候, 才比較容易順便把舊的 「封存」 郵件刪掉。

想要順利備份、清空, 平常就要養成習慣: 凡是想長久保存的 e-mail (包含自己寫得很得意的 寄件備份) 都一定要手動指定一兩個標籤。 這樣, 等到要備份時, 凡是系統自動產生的標籤 (例如寄件備份) 都可以略過不備份。

標籤最好都用英文或每個標籤至少內含一小段英文, 因為 google 匯出時, 會拿標籤當作檔名, 但在 linux 底下, 它的中文檔名會變亂碼。

在 gmail 的 「設定」 => 「一般設定」 分頁把 「頁面大小上限」 設成 100, 等一下比較方便批次選取大量郵件。

等一下如果需要把某標籤 xyz 內的 所有郵件 (或大部分郵件) 刪掉或移動, 但 xyz 內有幾千封信件, 那麼可以先選取一整頁的 (100 封) 郵件, 然後點選 「已選取這個頁面上全部 100 封郵件」 後方的 「選取「"xyz"」中全部 幾千封郵件」, 然後在已選取的郵件上 按右鍵, 即可一次處理這幾千封信件。 例如來自 plurk 的 mail 我都早已設定自動加上標籤, 年度備份時會 先把這些來自 plurk 的 mails 獨自下載處理。 等確認下載成功後, 就可以用這個方式刪除所有 plurk 標籤的郵件。

「寄件備份」 比較麻煩: 即使你把其中一些 mails 加上標籤了, 它還是會出現在 「寄件備份」 當中。 為避免誤刪自己寫得很好的大作, 要先到 「寄件備份」, 從最舊的信件開始看起, 把 (大部分) 沒有加標籤的寄件備份信件手動刪掉。 剩下來 (有手動加上標籤、 希望保存) 的「寄件備份」郵件 暫時先不能刪掉!

「垃圾桶」 正好相反:它也是一個標籤, 但別以為不選它就沒事了。 因為一封信若有好幾個標籤, 它不一定會出現在哪一個檔案內 (有待研究...)。 所以最好先查看一下垃圾桶裡面最新的郵件有沒有要保留的, 或是把 「垃圾桶」裡面最近幾天的信件搬到某個標籤 (例如 garbage) 底下、 把垃圾桶清空, 然後才開始備份。 沒做這一步時, 我的備份檔約有 1.6G; 做了這一步, 備份檔的大小只剩下 0.1G!

  1. google 「我的帳戶」。 登入後, 從 「資料和隱私權」, 進入 下載您的資料
  2. 要備份哪些東西? 先勾 「全部不選」 再單獨勾選 「郵件」。 點一下小小的下箭頭, 出現子選單。 不要 「包含您的所有郵件」 而要改選 「選取標籤」。
  3. 選取要備份的標籤 進入標籤選單之後,選取要備份的標籤; 避開剛剛建立的 「garbage」 以及系統的 「寄件備份」、 「垃圾桶」 等等標籤。
  4. 「下一步」、 「建立封存檔」 之後, 耐心等待幾小時就會收到 e-mail 通知。
  5. 2021/8: 點選 google 的通知裡面的 「下載檔案」 連結, 我看到神秘的錯誤訊息: 「400. 發生錯誤。 伺服器無法處理格式錯誤的要求,請勿重試。 目前無法提供更明確的錯誤資訊。」 但是可以改點 「管理匯出項目」, 從另一個頁面成功下載。
  6. 下載解壓縮後, 會看到許多 (以標籤為檔名的) *.mbox 檔。
  7. find . -type f -ls | sort -n -k 7 看一下哪幾個檔特別大。
  8. 安裝 mutt 套件、 mutt -f some_tag.mbox 檢視一下特別大的檔, 看看是否有些內含大型附加檔的信件可以刪掉。 也確認備份出來的檔案真的可以用。
  9. [2019/9/2] 用 hypermail 把每一個 .mbox 轉成 (每封信獨立的) 許多 *.html

確認備份完整之後 (多備幾份!) 就可以回到 gmail, 叫出 「所有郵件」, 把兩週或更舊的 e-mail 通通刪掉。 (先選取全部幾百或幾千封, 再取消最前面幾封) 那些莫名奇妙地被「封存」的信件, 只能在 「所有郵件」 底下看到。 此時也就可以一併刪掉! 把 「garbage」 標籤內的信件也通通刪掉。 最後再次清空垃圾桶, 我的 gmail 空間又變清爽了!

沒有留言:

張貼留言

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。