Ответы:
offlineimap является популярным решением для этого.
После установки создайте .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
Тогда вам нужно запустить offlineimap.
В некоторых случаях постоянное выполнение offlineimap может занимать большие объемы памяти, особенно если у вас большой почтовый ящик, поэтому вы можете добавить проверку offlineimap в cron, чтобы просто проверить его и затем выйти, вот ежедневное резервное копирование:
@daily offlineimap -u Noninteractive.Basic
Файлы будут в любом месте, указанном в строке локальных папок как Maildir . Вы можете создать резервную копию, используя любой метод резервного копирования:
Я провел некоторое исследование о том, КАК сделать резервную копию учетной записи IMAP, сравнивая различные доступные инструменты с набором нужных функций и проблем. В результате я использовал offlineimap
, как уже предлагалось выше. (Мое сохраненное сравнение все еще может быть полезно, чтобы увидеть более широкую картину.) Кроме того, я подытожил (отвечая на связанный вопрос) некоторые моменты, касающиеся архитектуры такого решения для резервного копирования учетной записи IMAP и ее сохранения в Git.