domingo, 24 de janeiro de 2010

Backup: você ainda vai querer ter o seu

No final do ano passado meu HD começou a dar problema, simplesmente parou de dar boot e aos poucos estava partindo dessa para uma melhor. Eu, assim como a maioria das pessoas, não tinha backup.

Curiosamente, na mesma semana o servidor onde estava hospedado os sites Coding Horror, o blog do Stack Overflow, o blog do Phil Haack e outros, também teve seu HD queimado. Mais detalhes aqui e aqui.

Por sorte consegui recuperar os dados do HD que estava morrendo, porém, isso serviu como um aviso alto e claro: faça backup!!
hard_drive_crash

Minha estratégia de backup

Depois desse susto, resolvi montar uma estratégia de backup para o meu micro pessoal.
O primeiro passo foi identificar os tipos de arquivos que eu tenho e a melhor forma de backup para eles. Cheguei a essa lista:
  • Código fonte – a maioria dos meus projetos já estava em repositórios do SVN, porém, o repositório fica gravado localmente;
  • Arquivos que gostaria de ter – são aqueles que seria interessante ter um backup, mas que não são essenciais. Se algo muito ruim acontecer posso obter esses arquivos por outros meios. Aqui entram as músicas, filmes, instalações de programas e assim por diante;
  • Arquivos essenciais – são aqueles que eu NÃO POSSO perder. Isso envolve desde documentos pessoais, fotos e qualquer coisa que eu queira ter seguro, mesmo que um terremoto devaste a cidade;
Com esses três tipos de arquivo em mente, montei três formas de backup que se adequam a minha necessidade.

Backup de Código Fonte

Para o código fonte, como eu já trabalho normalmente com o SVN, bastou achar um repositório online. Acabei optando pelo ProjectLocker, que oferece de forma gratuita 500MB de armazenamento para repositórios do SubVersion ou GIT.

Atualmente estou usando o SVN, mas ele é bastante lento ao trabalhar online. Nos testes que fiz com o GIT ele foi muito mais rápido. Em breve vou abandonar o SVN e converter meus projetos para o GIT.

Backup de arquivos que gostaria de ter

Os arquivos que gostaria de ter não precisam de um backup altamente seguro, por isso optei por fazer o backup localmente em um HD secundário. No caso de uma pane no HD principal ainda tenho essa cópia.

O Windows 7 oferece um bom utilitário de backup. Além de fazer o backup das pastas selecionadas ele também faz backup do sistema operacional, configurações e drivers.
Backup do WindowsATUALIZAÇÃO (07/01/2011): depois de algum tempo usando o backup do Windows, comecei a ter problemas e deixei de usá-lo. Leia esse artigo para mais detalhes.

Backup de arquivos essenciais

Para os arquivos essenciais não basta uma segunda cópia, preciso de uma segurança maior. Caso ocorra um terremoto, um tsunami ou um avião caia sobre a casa, ainda quero ter esses dados. Para isso, é necessário um backup externo, geograficamente distante da minha casa.

A forma mais prática e segura que encontrei foi utilizar um mecanismo de backup online. Existem diversas empresas que oferecem o serviço, entre os diversos produtos que testei optei pelo IDrive.
O IDrive oferece 2GB no plano gratuito, e 150GB pagando USD 4,95/mês. Na versão gratuita do IDrive é possível ganhar 10GB adicionais, basta que após se cadastrar você compartilhe os contatos do seu e-mail, permitindo que eles enviem um convite aos conhecidos.

O backup inicial, como é de se esperar, pode demorar bastante. Isso vai depender da velocidade de conexão e a quantidade de dados a serem enviados. Mas, após esse envio inicial cada backup é bem rápido, já que ele precisa enviar apenas as alterações.

Desse modo, os arquivos essenciais ficam gravados em um HD secundário e em um backup online. Ter o mesmo arquivo gravado em três locais distintos oferece uma boa segurança.

O importante não é o backup, mas sim a recuperação

Como disse Joel Spolsky em um de seus artigos recentes, o importante não é fazer backup, mas sim poder recuperar os dados.

Após fazer os backups, certifique-se que você consegue restaurar os arquivos. Guarde bem as chaves de criptografia e assegure-se que em uma emergência é possível obtê-las facilmente.