Algumas semanas atrás eu publiquei uma dica sobre o Back in time, uma verdadeira “máquina do tempo” para fazer cópias de segurança dos seus arquivos. Na ocasião eu disse que haviam outras ferramentas com a mesma finalidade então agora é a hora de falar sobre o Flyback.
O Flyback é uma ferramenta bem mais simples de se trabalhar do que o Back In Time e como tal esperasse que ele tenha mais restrições também. Mas antes de falarmos sobre suas restrições é bom esclarecermos a diferença entre as ferramentas.
Back in Time vs Flyback
Basicamente o Back In Time é um Front-end para o poderoso Rsync que implementa um protocolo de transferência de arquivos baseados em hardlinks e “deltas”.
Enquanto o Flyback usa uma outra abordagem que é mais conhecida por desenvolvedores. Ele usa o popular sistema de controle de versões Git, como backend para gerenciar as alterações.
Vantagens e desvantagens existem em ambas as abordagens, mas se você quer uma dica já antecipada então lá vai: “não use o Flyback para fazer backups de um conjunto de arquivos muito grande”.
Instalando o Flyback
A página oficial da ferramenta na Internet está em [1], baixe o pacote apropriado para a sua versão do Ubuntu (infelizmente não há pacotes para outras distribuições) e instale-o usando o gerenciador de pacotes, o que pode ser feito dando um duplo clique sobre o arquivo baixado.
Salvando o primeiro ponto no tempo
Uma vez instalado o Flyback estará disponível no meu principal do Ubuntu, dentro da pasta “Sistema”.
Ao clicar sobre o seu ícone você verá a tela para escolha do backup, onde obviamente ainda não há nenhum. clique ícone de “+” e então no botão “Abrir“. Na tela seguinte você deverá escolher a pasta que você deseja fazer o backup e o dispositivo onde este backup será armazenado.
Aqui entra uma limitação do Flyback. Embora ele consiga listar sem problemas todas as mídias removíveis conectadas e montadas no seu sistema não sei porque ele não reconhece todos os discos internos (bug?). Como um backup não deve ser feito no disco o qual estamos querendo nos precaver de uma catástrofe isso não chega a ser um problema mas que é estranho, isso sim é!
Feitas as escolhas e tendo clicado no botão Novo finalmente veremos a interface principal do sistema e então basta clicar no primeiro botão da barra de ferramentas que sugestivamente se chama “Backup“. Agora é só esperar que o backup será realizado.
Entra aqui uma segunda limitação do Flyback. Ele não tem o recurso de agendar um backup e sejamos honestos: Se backup automático já é raro alguém fazer, imagine se depender de ser feito manualmente.
Claro que você pode editar o seu pool de agendamento de tarefas no cron e acrescentar uma tarefa para tal procedimento, mas convenhamos que não é a melhor forma de dizer a um usuário relapso que esta é a ferramenta mais simples que existe no Linux para backups.
Ajustando a máquina do Tempo
A tela de preferências do Flyback é bem minimalista e objetiva. Ela possui apenas 7 controles do tipo checkbox, onde você poderá dizer se quer ou não que:
- Arquivos de áudio sejam ignorados (mp3, aac, ogg etc)
- Arquivos de vídeo devem ser ignorados (avi, mp4 etc)
- A Lixeira do sistema deve ser ignorada
- As pastas de cache devem ser ignoradas
- Arquivos de máquinas virtual do Vmware devem ser ignorados
- Imagens ISO de CDs, DVDs etc devem ser ignorados
- Arquivos maiores que um tamanho definidos por você sejam ignorados.
Em resumo, não há muito o que se comentar sobre elas. Ajuste-as conforme sua necessidade e pronto.
Explorando o backup
Para consultar os arquivos em seu backup é bem simples. Abra a interface do Flyback, selecione o dispositivo e ao abrir a tela principal clique na revisão correspondente a data/hora do backup que você deseja consultar e então no botão Explore.
Isso irá criar uma pasta temporária dentro de /tmp com todo o conteúdo do seu backup. Aqui entra a terceira limitação do Flyback e talvez a pior de todas. Por ele trabalhar com repositórios de controles de versão quando pedimos para consultar o backup ele cria uma Cópia de trabalho (Workcopy) com todo o conteúdo do repositório.
Infelizmente ou felizmente, dependo do ponto de vista, isso não é uma limitação do sistema de controle de versões e sim da interface do Flyback. Por isso lá atrás eu já tinha avisado para não usá-lo para backups de pastas muito grandes.
Imagine você ter feito o backup de 5 GiB de arquivos e ter que esperar ele copiar todos estes 5 GiB novamente para uma pasta temporária para que só depois disso você consiga recuperar um arquivo que não tinha mais do que 1 MiB.
Em resumo, ele não permite recuperar apenas o arquivo desejado. Ou você recupera tudo ou não recupera nada. Alternativamente para minimizar o desperdício de espaço com a cópia de todo o repositório você pode usar o botão “Export” que copia tudo para um arquivo tar.gz (compactado) e então de lá você extrairia apenas o arquivo desejado.
Conclusão
Em minha franca opinião o autor do projeto ou se perdeu no trabalho, ou ainda não sabe que rumo dará a ele. Mas o projeto é bastante promissor sim.
Usar o Git como backend é uma ideia brilhante que já é usada por alguns outros projetos e inclusive tenho noticias de administradores que usam este conceito para backup de sistemas completos. O calcanhar de aquiles do projeto é então a forma como ele lida com a recuperação de arquivos.
Afinal de contas se você se necessitar recuperar os dados de um backup certamente o que faltará em você será paciência e calma para esperar que uma cópia gigantesca seja feita para então você procurar onde está o arquivo danificado e só então copiar para o local original.
Referências
[1] Flyback. Disponível em <http://code.google.com/p/flyback/>