Backup esperto com rdiff-backup
Backup é um assunto muito apontado em qualquer meio em que os dados são muito importantes e não podem ser perdidos. Existem diversas maneiras de realizar esse processo e muitas formas de planejar o backup.
Um dos problemas encontrados na hora de planejar o backup e a grande quantidade de espaço utilizado pelos dados guardados, sejam em arquivos compactados ou de outra maneira. Para resolver isso pessoas desenvolvem scripts cada vez mais avançados e complicados.
Pensando em isso que foi criado o rdiff-backup [1], um aplicativo que realiza backup em rede sobre SSH com os mesmos incrementais.
Ou seja, além de realizar uma transferência de dados, ele realiza backup de modo a economizar recursos, já que será sempre guardado apenas o diff [2] da ultima versão feita backup.
Como funciona?
O funcionamento é bem simples, quando executado pela sua primeira vez, todo o conteúdo que será feito backup é copiado para onde será guardado o backup e será criada o diretório rdiff-backup-data. Das próximas vezes basta executar o mesmo comando realizado, pois como o conteúdo já foi copiado agora será guardada apenas o diff do versão antiga com a versão nova, e ficara guardada nesse diretório todos os diffs realizados.
E na hora de recuperar?
Na hora de recuperar, basta utilizar a própria aplicação com os parâmetros de recuperação apontando qual versão é desejado que ele já aplica o diff no pacote e retorna todo o conteúdo na versão pedida.
Como usar?
Primeiramente temos que instalar o aplicativo no sistema
# aptitude install rdiff-backup
Se for feito backup de uma maquina remota essa maquina também precisa ter o rdiff-backup instalado.
Feito isso agora basta utilizar-lo, a sintaxe do comando é
rdiff-backup [opções] [[user@server]::diretório_que_será_feito_backup] [[user@server]::diretório_onde_o_backup_será_posto]
Algumas opções são
- –include [diretório ou arquivo]
- Inclui um diretório ou arquivo no backup.
- –exclude [diretório ou arquivo]
- Não faz backup do diretório ou arquivo especificado.
- -r [data da versão]
- Faz a recuperação do backup da versão do tempo especificado, por exemplo se for da ultima versão pode-se usar now, ouse for de 3 dias atrás pode-se usar 3D.
- … consultar o manual [2]
Exemplos:
Digamos que queremos fazer um backup local do diretório /var/www para o diretório /mnt/backup, basta fazermos:
$ rdiif-backup /var/www /mnt/backup
Para recupera basta utilizar o parametro -r, vamos recuperar do diretório /var/www/wwwrestored
$ rdiff-backup -r now /mnt/backup /var/www/wwwrestored
Caso a maquina onde será feito o backup ou a que receberá o backup for remota basta utilizar a sintaxe de ususario@servidor:: antes do arquivo, por exemplo:
$ rdiff-backup fulano@servidor.com::/var/www /mnt/backup
Automatizando o backup
Para automatizar o backup usando rdiff-backup, basta criar um script que vai ser bem simples, por exemplo:
#!/bin/bash rdiff-backup /var/www /mnt/backup
e incluir esse script no crontab.
Dessa maneira, pode-se concluir que o RDIFF-BAKCUP, auxilia muito o desenvolvimento de rotinas de backup. Utilizando esse aplicativo o backup é mais simples e mais fácil de gerenciar os backup.
____

