DestaqueGuias

Rsnapshot: Backups diferenciais em *nix

Acesso remoto por chave de autenticação

Rsnapshot 15

Quando se acede a um servidor de ssh, sem nada configurado, para se poder aceder é preciso introduzir a password do utilizador.
No entanto, como este é um processo automático, não faz sentido ter que se introduzir a passaword do utilizador que acede à máquina remota.
Assim sendo, deveremos configurar o acesso com um ficheiro que nos autentique.

Para tal, na máquina Servidor, devermos correr o comando:

ssh-keygen

Rsnapshot 16

Para criarmos um ficheiro que autentique o utilizador. Este comando vai criar esse ficheiro, depois de um pequeno wizard.

Rsnapshot 17

Em seguida, devemos passar esse ficheiro para a máquina Cliente, que é a máquina de destino, com o comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Rsnapshot 18

É perguntado a password do utilizador “root” e em seguida é copiado o ficheiro.

Teste dos backups

Rsnapshot 20

Depois de toda esta configuração, a primeira coisa a testar é se a sintaxe do ficheiro de conf do rsnapshot está correcta.
Mais uma vez assinalo a particularidade de os elementos do ficheiro de configuração terem que obrigatoriamente estar separados por um tab.

Para testarmos a sintaxe, deveremos correr o comando:

rsnapshot configtest

Rsnapshot 21

Só devemos avançar se o resultado for “Ok”. Se não for “Ok” ele assinala em que linha se encontra o erro e deveremos voltar a editar o ficheiro de configuração.

Rsnapshot 22

Para testar o backup de um período de tempo, mas sem que ele crie os ficheiros de destino de backup, devemos correr o comando:

rsnapshot -t hourly

Neste caso, estou a testar um backup horário.

De referir que nesta altura, deveremos ter o parâmetro “verbose” pelo menos a 3, para termos um output que nos dê a intender se está tudo correcto.

Rsnapshot 23

É indicado os comandos que ele executa e deveremos ver se o que é executado é os backups que pretendemos.

Rsnapshot 24

Em seguida, se tudo estiver correcto, podemos correr um backup manualmente, com o comando:

rsnapshot hourly

Rsnapshot 25

Com este comando, os ficheiros de backup vão ser criados e por isso, deveremos confirmar que está tudo como pretendemos, na pasta de backups.

Nesta imagem, acedo a “/backup” e como foi a primeira vez, tenho uma pasta chamada “hourly.0”.
De referir que as pastas “.0” são sempre o último backup, “.1” o penúltimo e assim consecutivamente.
Assim, “daily.2” é o backup de à dois dias.

Lá dentro tenho duas pastas. “localhost” que é a máquina local e “cliente” que é a máquina remota.

Dentro das pasta “cliente”, vou ter a ou as pastas que estou a fazer backup da máquina remota. Neste caso, é só o “/root”.

Listando o seu conteúdo, podemos ver que se encontra lá tudo o que tinha na máquina remota, que são uma série de imagens.

Rsnapshot 26

Para testar um segundo backup e ver se está tudo funcional, adicionei mais imagens à pasta “/root” da máquina Cliente.

Depois, volto a correr na máquina Servidor, o comando:

rsnapshot hourly

Rsnapshot 27

Depois do backup acabar, posso ver as diferenças entre os dois backups, com o comando:

rsnapshot-diff hourly.0/ hourly.1

Rsnapshot 28

Consigo ver que foram adicionados 26 ficheiros e número de bytes que eles ocupam.

Rsnapshot 29

Se usar o parâmetro “-v” no comando “rsnapshot-diff”, é mostrado em detalhe, que ficheiros foram adicionados ou apagados.

Rsnapshot 30

Se listar a pasta “/backup/hourly.1/cliente/root” posso ver que tenho mais ficheiros do que tinha anteriormente, pois entre os dois backups, adicionei 26 imagens a esta pasta.

Nos ficheiros que já existiam, são criados hardlinks entre as pastas. Os novos são apenas copiados para o backup mais recente.

Rsnapshot 31

Outro ficheiro que devemos acompanhar, para ter a certeza que tudo está a correr como pretendemos, é o ficheiro de log, que se encontra em “/var/log/rsnapshot”.

Rsnapshot 32

Olhando para esse ficheiro, podemos verificar como é que os backups têm decorrido.

Configuração do Cron

Rsnapshot 33

Para que o rsnapshot execute nas alturas pretendidas, temos que configurar o cron, para executar os comandos quando queremos.

Para editar o cron, deveremos correr o comando:

crontab -e

Rsnapshot 34

Dentro do ficheiro de cron, deveremos colocar que periodos de tempo queremos para cada backup.

Assim, neste exemplo, é executado um backup horário ao minuto 10 de cada hora.
Diariamente, é executado o backup diário às 9:20 da manhã.
O backup semanal é executado às 13:00 de cada segunda-feira.
Por fim, o backup mensal é executado às 18:30, no dia 1 de cada mês.

Conclusão

Ficou aqui este pequeno artigo sobre mais uma forma de fazer backups.

A minha opinião é que é extremamente simples de instalar (sem ser no OS X) e configurar o rsnapshot.
É verdade que não tem um Gui, mas só tem um ficheiro de configuração e os seus argumentos são simples de perceber.
Depois de configurado e testado a primeira vez, é só repetir o que foi feito e torna-se quase um processo automático.

É uma ferramenta open source que demonstra o poder e a flexibilidade que se pode ter em pequenos utilitários.
De referir que a sua velocidade de backup é espantosa, aliada a ser backups diferenciais e a sua performance também é muito boa.
A tecnologia usada não é muito diferente da usada pelo “Time Machine” em OS X. Este último tem apenas um Gui muito simples de usar para um utilizador sem conhecimentos, mas pela minha experiência, é muito pior a nível de performance e estabilidade.

Espero que tenham gostado do artigo e que vos possa ser útil.
Mesmo que não usem esta aplicação, lembrem-se sempre que é importante ter backups.

Página anterior 1 2

Artigos Relacionados

Botão Voltar ao Topo