Backup local do Gmail com o getmail

Backup local do Gmail com o getmail

Backup up your GoogleMail locally with getmail

Autor original: Ryan Cartwright

Publicado originalmente no: freesoftwaremagazine.com

Tradução: Roberto Bechtlufft

logo-fsm

Para a infelicidade de seus concorrentes, o Gmail parece ter se tornado quase tão sinônimo de email quanto o Google se tornou de mecanismo de busca. Outro dia mesmo meu filho de seis anos me contou como ele “googlou” para fazer um trabalho no colégio. O Gmail é uma ferramenta útil, e que oferece muitas vantagens em relação às contas de email cliente-servidor tradicionais, especialmente para quem está sempre em trânsito. Para ser honesto, quase todo serviço de webmail oferece essas vantagens. Só estou me focando no Gmail porque, pelo que eu vejo, ele é o mais popular. Mas o Gmail tem uma desvantagem: todas as suas mensagens ficam armazenadas nos servidores do Google. Se você perder o acesso ao serviço do Google ou à sua conta, perde todos os seus emails. Mas não tema, amante do software livre, porque a cavalaria vem aí, liderada por um programa muito útil chamado getmail.

O getmail é uma ferramenta de linha de comando que obtém email de servidores remotos e guarda tudo em um armazenamento local. Esse armazenamento pode ser um arquivo mbox ou um diretório Maildir. Eu prefiro o Maildir, porque com o mbox todo o meu email fica dependente de um único arquivo.

Instalação

Para ser franco, não sei porque eu ainda incluo uma seção de instalação nestes artigos. É moleza instalar software nos sistemas GNU/Linux modernos, e presumo que a maioria dos meus leitores esteja usando um. Faça uma busca por getmail no seu gerenciador de pacotes favorito e faça a instalação. Se preferir, você pode baixar o código fonte na página do getmail e compilar por conta própria. Eu só usei mesmo um apt-get install getmail no terminal. O getmail tem algumas dependências. Como o programa é um script em python, você vai precisar do Python 2.4.

Configuração do Gmail

Para que o getmail baixe os dados do Gmail, você precisa pedir ao Google que libere o acesso externo ao sistema dele. O getmail tem suporte a contas de email POP3, POP3 com SSL, IMAP4, IMAP4 com SSL e SDPS, seja na forma de uma conta única ou de múltiplas contas em uma única caixa de entrada. Neste tutorial vou usar o POP3, mas o Gmail também tem suporte a IMAP.

  • Primeiro faça logon no Gmail e clique em Configurações (na parte superior direita);

  • Clique na guia Encaminhamento e POP/IMAP;

  • Selecione Ativar POP para todos os e-mails (mesmo os que já foram baixados). Depois você pode voltar e mudar para Ativar POP para e-mails que chegarem a partir de agora, mas por enquanto queremos fazer backup do Gmail todo (veja a observação no fim do artigo);

  • Escolha uma opção apropriada na etapa 2. Eu deixei Manter cópia do Gmail na caixa de entrada;

  • Clique em Salvar alterações.

Configuração do getmail

Você pode usar parâmetros de linha de comando para que o getmail baixe seu email, mas como essa operação provavelmente vai ser repetida várias vezes é melhor criar um arquivo de configuração para o getmail. Se você não informar o caminho completo para o arquivo de configuração, o getmail vai presumir que ele esteja no seu diretório padrão. Na maioria dos sistemas, o padrão é o diretório .getmail no diretório home do usuário. Obviamente, você pode guardar os arquivos onde preferir, desde que eles possam ser lidos pelo usuário que está usando o getmail. Se não for informado o caminho do arquivo de configuração, o padrão será ~/.getmail/getmailrc (“~” é um atalho para o diretório home do usuário atual). Para tornar as coisas mais simples, vamos usar esse arquivo mesmo, mas se você tiver várias contas pode criar vários arquivos de configuração e pedir ao getmail que os use, começando o comando assim: getmail -r <arquivo_de_configuração>.

Vamos criar um arquivo ~/.getmail/getmailrc e digitar o conteúdo a seguir nele, substituindo o endereço do Gmail pelo seu:

[retriever]type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = SeuEndereçoDoGmail

[destination]type = Maildir
path = ~/gmailBackup/

[options]verbose = 1
message_log = ~/.getmail/gmail.log

A linha message_log é opcional, mas pode ser útil se você quiser conferir o que o getmail fez. Há outras opções que talvez possam ser interessantes para você. A configuração de tipo (type) pode ser Maildir ou mbox, e o caminho (path) pode ser qualquer diretório/arquivo ao qual o usuário que vai usar o getmail tenha acesso para escrita. A opção verbose dita a quantidade de informações enviadas para o terminal durante a execução do getmail. Se o valor for 1, o getmail vai mostrar na tela as mensagens que está recebendo. As outras opções são 0 (que só exibe avisos) e 2 (que exibe tudo). Acho que 1 é um bom meio termo.

Execução do getmail

Depois de criado o arquivo de configuração, você pode executar o getmail. Abra um terminal, digite getmail e aperte Enter. Caso tenha dado outro nome ao arquivo de configuração, diga ao getmail que nome é esse com o comando getmail -r nomedoarquivo. Se o arquivo não estiver no diretório padrão, digite o caminho completo: getmail -r /caminho/para/o/arquivo. Quando executado, o getmail pede sua senha do Gmail. Se não quiser digitar a senha sempre que rodar o comando, você pode incluí-la na seção “retriever” do arquivo de configuração. Abaixo da linha com o nome do usuário, digite password = SuaSenhaDoGmail. Eu não faço isso, porque se alguém pegar meu laptop vai poder acessar minha conta do Gmail, mas se você rodar o getmail como um trabalho do cron (ou seja, como um evento agendado) provavelmente vai ter que colocar essa linha no arquivo.

Sempre que você rodar o getmail, ele vai baixar todo o email que não tiver visto anteriormente. Pela forma como o Gmail é configurado, os emails que você envia estão na mesma caixa de correio dos emails que você recebe. Isso quer dizer que o getmail baixa a pasta All mail do Gmail. Ele não baixa nada da pasta de Spam. Depois de baixar seus emails para o computador, você pode querer ler esse email todo. Basta apontar praticamente qualquer cliente de email para o arquivo ou diretório de backup. Para manter as coisas simples, eu uso o excelente mutt, já que ele oferece acesso rápido e simples, sem a necessidade de configurar contas e afins, como acontece com alguns clientes de email para desktops.

Automatização do processo

Se você usa muito o Gmail, provavelmente vai querer fazer esse backup com alguma frequência. É claro que você pode lembrar de fazer esse procedimento vez ou outra, mas também dá para usar a ferramenta cron do seu sistema da família Unix para automatizar o backup. Não vou meter um tutorial do cron aqui no meio, então só vou dar algumas instruções simples. Digite crontab -e em um terminal, e seu arquivo cron vai abrir em um editor de textos. É nele que você vai incluir os comandos que quer executar em horários agendados. Vá até o fim do arquivo e inclua esta linha:

10 10 * * 1-5 /usr/bin/getmail -r /caminho/completo/para/o/arquivodeconfiguração >/dev/null

O formato de comandos do cron é minuto hora dia_do_mês mês dia_da_semana comando, então a linha acima vai rodar o getmail todo dia útil de todo mês, às 10:10 h (o “*” é um curinga). Note que você tem que incluir o caminho completo para os arquivos de configuração que estiver usando. O “~” nem sempre funciona no ambiente do cron. É claro que você não precisa especificar arquivo nenhum se estiver usando o arquivo padrão, mas é melhor prevenir do que remediar. O 1>/dev/null no final é para descartar qualquer saída que o comando produza. Podemos usar isso aqui porque o getmail está registrando tudo em seu log mesmo. Se não fizéssemos isso, o sistema provavelmente enviaria um email para você com a lista dos emails baixados. Erros provenientes da execução do comando (caso você tenha digitado o comando errado, por exemplo) serão enviados, mas é possível descartá-los mudando > /dev/null para 2&1> /dev/null.

Observações e pegadinhas

  • Abrir o acesso POP em sua conta do Gmail deixa a conta menos protegida. Alguém mal intencionado ainda precisaria da sua senha para baixar seu email, mas não deixa de ser um risco. Se quiser ser mais cuidadoso, dá para voltar atrás e desfazer o procedimento depois que o getmail baixar os emails.

  • O getmail pode ser usado em qualquer conta de email remoto com suporte aos protocolos compatíveis com o programa. Isso significa que o getmail pode ser usado com outros serviços de webmail, mas não garanto porque eu não testei.

  • Como o nome sugere, o getmail só serve para email mesmo. Ele não faz backup do Google Agenda, nem do Google Docs. Para fazer backup do Google Agenda, você pode exportá-lo de forma semelhante com o Google Docs.

  • Não me responsabilizo pelo seu email. Se você seguir estas etapas e algo der errado, eu não posso me responsabilizar. As coisas mudam, e o que eu relato aqui deu certo quando eu tentei. Espero que este texto lhe seja útil.

Créditos a Ryan Cartwrightfreesoftwaremagazine.com

Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X