Núcleo Assistir /blog

Informática, tecnologia e outros.

Backup esperto com rdiff-backup

without comments

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.

____

[1] http://pt.wikipedia.org/wiki/Diff

[2] http://www.nongnu.org/rdiff-backup/index.html

Written by Nícolas Lazarte Kaqui

junho 21st, 2010 at 1:47 pm

Leave a Reply

WP SlimStat