BaGoMa pode ser o que você está procurando. É um script em Python para fazer backup / restaurar seu Gmail Mail. Usa o IMAP, mas é inteligente para que faça o download de cada mensagem uma vez, independentemente de quantos rótulos ela tenha aplicado a ela, mas manterá rótulos e sinalizadores (lidos, sinalizados etc.) para restaurações.
Nunca exclui a mensagem da sua conta do Gmail. Uma restauração só envia mensagens ausentes da loja local, mas não tenta sincronizar sua conta com seu conteúdo. Além disso, o backup também não exclui mensagens da loja local. Há um comando compacto separado que excluirá mensagens da loja local, se elas não existirem no servidor do Gmail.
Como ele só faz backup de mensagens via IMAP, não pode / não recebe certas coisas: contatos, bate-papos, filtros (e outras configurações), Superstars, rótulos que você escolheu para ocultar do IMAP (imagine isso!), e lixo / spam.