Câu trả lời:
offlineimap là một giải pháp phổ biến cho việc này.
Sau khi bạn cài đặt, hãy tạo một .offlineimaprc
[general]
accounts = GMail
maxsyncaccounts = 3
[Account GMail]
localrepository = Local
remoterepository = Remote
autorefresh = 10 #refresh every 10 minutes
quick = 5 #Quick-syncs do not update if the only changes were to IMAP flags
[Repository Local]
type = Maildir
localfolders = /whatever/directory
[Repository Remote]
type = IMAP
remotehost = imap.gmail.com
remoteuser = your_username@gmail.com
remotepass = your_password
ssl = yes
maxconnections = 1
#Setting realdelete = yes will Really Delete email from the server.
#Otherwise "deleting" a message will just remove any labels and
#retain the message in the All Mail folder.
realdelete = no
Sau đó, bạn cần chạy offlineimap.
Trong một số trường hợp, việc offlineimap chạy mọi lúc có thể tiêu tốn một lượng lớn bộ nhớ, đặc biệt là nếu bạn có một hộp thư lớn, vì vậy bạn có thể thêm một kiểm tra offlineimap vào cron để kiểm tra và sau đó thoát ra, đây là bản sao lưu hàng ngày:
@daily offlineimap -u Noninteractive.Basic
Các tệp sẽ ở bất cứ thứ gì bạn xác định trong dòng thư mục địa phương dưới dạng Maildir . Bạn có thể sao lưu này bằng bất kỳ phương thức sao lưu nào bạn sử dụng:
Một thay thế sẽ được sử dụng fetchmail
. fetchmail có thể sử dụng cả pop3 và imap4 để truy cập Google. Có hướng dẫn trực tuyến về cách cấu hình.
Tôi đã thực hiện một số nghiên cứu về CÁCH sao lưu tài khoản IMAP so sánh các công cụ có sẵn khác nhau tạo ra một tập hợp các tính năng và mối quan tâm mong muốn. Kết quả là, tôi đã sử dụng offlineimap
, như đã đề xuất ở trên. (So sánh đã lưu của tôi vẫn có thể hữu ích để xem một bức tranh lớn hơn.) Ngoài ra, tôi đã tóm tắt (trả lời một câu hỏi liên quan) một số điểm liên quan đến kiến trúc của một giải pháp như vậy để sao lưu tài khoản IMAP và lưu trữ nó trong Git.