Eu ja perdi um HD cheio de coisas importantes. Foi assim que aprendi a importância do backup; o que não quer dizer que eu o faça.

Contudo, recentemente o disco do meu notebook começou a dar sinais de que está agonizando. Na verdade, não sei se trata-se apenas de problemas no sistema de arquivos ou um falha de hardware iminente, mas os constantes erros me trouxeram más lembranças e me deixaram com medo.

Desde a perda do primeiro HD, tenho procurado uma solução simples e eficiente para backups. Tenho pensando bastante em um NAS, com suporte a RAID ou um PC Mini-ITX. Enquanto o dinheiro não vem, e os erros aumentam, encontrei uma solução mais simples para o backup de meus arquivos, composta dos seguintes itens:

Incron

É um cron para o sistema de arquivos. Trabalha junto com o inotify e permite agendar comandos que são executados como resposta a eventos em diretórios e arquivos. Utilizo ele para monitorar os itens que quero manter no backup.

Rsync

É um programa utilizado para manter a sincronização de arquivos entre dois diretórios diferentes. A grande sacada é a possibilidade de realizar transferência incremental de arquivos. Ou seja, são sincronizados apenas os itens que sofreram alterações. Na minha solução de backup, utilizo ele para sincronizar os arquivos e diretórios que desejo efetuar backup com o diretório do Dropbox.

Dropbox

O Dropbox é um serviço online de armazenamento de arquivos. Na versão gratuita são oferecidos 2Gb de espaço em disco. Seu instalador possui um daemon que monitora um determinado diretório em seu computador. Qualquer alteração nesse diretório é atualizada na sua cópia online.

Como instalar?

Aqui, no Arch Linux, o processo de instalação foi bastante simples. O incron e o rsync estão disponiveís nos repositórios community e extra, respectivamente. Já o dropbox está disponível no AUR. Para instalar tudo, bastou o comando:

$ yaourt -S incron rsync dropbox

Configurando

Antes de tudo, precisamos configurar o Dropbox. Ele deve estar localizado em Aplicativos -> Internet -> Dropbox. Na primeira execução você poderá configura-lo com os dados de sua conta, caso já possua uma, ou criar um nova. Por fim, selecione o diretório que será monitorado pelo daemon.

Agora que você já possui um diretório em seu computador ligado a sua conta do Dropbox, precisamos fazer com que as atualizações nos itens que deseja realizar backup sejam replicadas para o diretório do serviço de armazenamento. Para monitorar essas atualizações vamos utilizar o incron.

Aqui não foi necessário nenhuma configuração do daemon. Entretanto é necessário adiciona-lo a lista de inicialização de daemon no arquivo /etc/rc.conf. Feito isso, basta adicionar as entradas no incrontab, indicando qual diretório/arquivo monitorar, em quais eventos e qual ação a ser executada. Para editar o incrontab, digite:

$ incrontab -e

Umas das entradas em meu arquivo é:

/home/davi/Documentos IN_CREATE,IN_DELETE,IN_MODIFY,IN_MOVE rsync -a --delete /home/davi/Documentos /home/davi/Dropbox/backup

Com isso, indico que o incron deve monitorar o diretório /home/davi/Documentos e, cada vez que um arquivo ou diretório seja criado, removido, modificado e movido, deverá executar o comando rsync, sincronizando o diretório monitorado com o diretório /home/davi/Dropbox/backup. Assim que a sincronização for concluída o daemon do Dropbox se encarregará de enviar seus arquivos para o armazenamento online, concluindo o backup.

Após realizar qualquer alteração no incrontrab é necessário recarregar o arquivo através do comando:

$ incrontab -d

Pronto! Assim concluímos a criação de um sistema simples e prático para backup automático. Por enquanto, pretendo continuar utilizando o Dropbox para armazenar meus arquivos. Futuramente, caso mude a forma de armazenamento, os ajustes necessários serão simples. Na verdade, será necessário apenas alterar o comando rsync para ter como destino o novo local para onde deverá enviar os arquivos.