Backups · 5 min read · Jan 02, 2026

Backups Automatizados Com rdiff-backup

Este é um “copiar e colar” HowTo!

A maneira mais fácil de seguir este tutorial é usar um cliente de linha de comando/cliente SSH (como

PuTTY

para Windows) e simplesmente copiar e colar os comandos (exceto onde você precisa fornecer suas próprias informações, como endereços IP, nomes de host, senhas,…). Isso ajuda a evitar erros de digitação.

Backups Automatizados Com rdiff-backup

Versão 1.0
Autor: Falko Timme

Este tutorial descreve como fazer backups automatizados de servidores com a ferramenta rdiff-backup. O rdiff-backup permite que você faça backups através de uma rede usando SSH, de modo que a transferência de dados seja criptografada. O uso de SSH torna o rdiff-backup muito seguro, pois ninguém pode ler os dados que estão sendo transferidos. O rdiff-backup faz backups incrementais, economizando assim largura de banda.

Por favor, descubra mais sobre os recursos do rdiff-backup aqui: http://www.nongnu.org/rdiff-backup/index.html

O problema é que o SSH requer uma senha para fazer login, o que não é bom se você quiser executar o rdiff-backup como um trabalho cron. A necessidade de uma senha requer interação humana, o que não é o que queremos. Por exemplo, para fazer backup do diretório /boot de server1.example.com, você digitaria rdiff-backup [email protected]::/boot boot em seu servidor de backup (neste tutorial, o chamamos de backup.example.com), que tentaria salvar o diretório /boot de server1.example.com no diretório boot de backup.example.com. Agora, isso é o que acontece:

| rdiff-backup@backup:~$ rdiff-backup [email protected]::/boot boot Senha: ----------------------------------------------------------------- Habilidades detectadas para o sistema de arquivos de origem (somente leitura): Listas de controle de acesso Desligado Atributos estendidos Desligado Forks de recursos estilo Mac OS X Desligado Informações do Finder do Mac OS X Desligado ----------------------------------------------------------------- Aviso: a propriedade não pode ser alterada no sistema de arquivos em boot/rdiff-backup-data ----------------------------------------------------------------- Habilidades detectadas para o sistema de arquivos de destino (leitura/gravação): Caracteres que precisam de citação '' Mudança de propriedade Desligado Linkagem dura Ligado fsync() diretórios Ligado Permissões de inc de diretório Ligado Listas de controle de acesso Desligado Atributos estendidos Desligado Forks de recursos estilo Mac OS X Desligado Informações do Finder do Mac OS X Desligado ----------------------------------------------------------------- rdiff-backup@backup:~$ |

Você vê, na linha 2, você é solicitado a fornecer a senha do root de server1.example.com.

Mas, felizmente, há uma solução: o uso de chaves públicas. Criamos um par de chaves (em nosso servidor de backup backup.example.com), uma das quais é salva em um arquivo no sistema remoto (server1.example.com). Depois disso, não seremos mais solicitados a fornecer uma senha quando executarmos o rdiff-backup. Isso também inclui trabalhos cron, que é exatamente o que queremos.

Oh, como você pode ter adivinhado a partir do que escrevi até agora, o conceito é que iniciamos os backups de server1.example.com diretamente de backup.example.com; server1.example.com não precisa fazer nada para ser feito o backup.

Este howto é destinado a ser um guia prático; não cobre os fundamentos teóricos. Eles são tratados em muitos outros documentos na web.

Este documento vem sem garantia de qualquer tipo! Quero dizer que esta não é a única maneira de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!

Passo 1: Instalar rdiff-backup No server1.example.com E backup.example.com

Primeiro, precisamos instalar rdiff-backup em ambos server1.example.com e backup.example.com. Em sistemas Debian, você pode simplesmente fazer isso executando

apt-get install rdiff-backup

Em outras distribuições, a instalação é diferente (no Fedora pode ser algo como yum install rdiff-backup, no Mandriva urpmi rdiff-backup, e no SuSE você deve usar yast para instalar rdiff-backup).

Passo 2: Criar As Chaves Em backup.example.com

No backup.example.com, criamos um grupo e um usuário não privilegiado chamado rdiff-backup. Este usuário rdiff-backup executará os backups. Não queremos que o root execute os backups por razões de segurança!

groupadd -g 3500 rdiff-backup
useradd -u 3500 -s /bin/false -d /backup -m -c “rdiff-backup” -g rdiff-backup rdiff-backup

O segundo comando cria o usuário rdiff-backup com o diretório home /backup (que é criado automaticamente por este comando se ainda não existir) que não tem permissão para fazer login no shell (novamente por razões de segurança). Se o ID do grupo e o ID do usuário 3500 já estiverem em uso em seu sistema, substitua-os por outro ID (livre).

Então execute

su -m rdiff-backup

Com este comando, você se torna o usuário rdiff-backup no shell. Todos os comandos seguintes devem ser executados como usuário rdiff-backup!

Crie as chaves:

cd /backup
ssh-keygen -t rsa

Você verá algo como isto:

| rdiff-backup@backup:~$ ssh-keygen -t rsa Gerando par de chaves rsa pública/privada. Digite o arquivo no qual salvar a chave (/backup/.ssh/id_rsa): Diretório criado '/backup/.ssh'. Digite a frase secreta (vazia para nenhuma frase secreta): Digite a mesma frase secreta novamente: Sua identificação foi salva em /backup/.ssh/id_rsa. Sua chave pública foi salva em /backup/.ssh/id_rsa.pub. A impressão digital da chave é: 88:18:4e:55:e9:27:8e:2a:44:4b:03:bd:9d:0f:fc:48 rdiff-backup@backup |

É aceitável salvar a chave em /backup/.ssh/id_rsa, então você pode simplesmente pressionar enter. É importante que você não insira uma frase secreta, caso contrário, o backup não funcionará sem interação humana, então pressione enter novamente. No final, dois arquivos são criados: /backup/.ssh/id_rsa e /backup/.ssh/id_rsa.pub.

Em seguida, crie o arquivo /backup/.ssh/config com o seguinte conteúdo:

| host server1_backup hostname server1.example.com user root identityfile /backup/.ssh/id_rsa compression yes cipher blowfish protocol 2 |

O valor de host é o que usamos mais tarde para iniciar o backup. Você pode usar qualquer nome que desejar (por exemplo, server1_backup, esta_e_a_maquina_que_quero_fazer_backup, etc.) (mas não deve conter espaços em branco; sublinhados são permitidos).

Altere as permissões desse arquivo:

chmod -R go-rwx /backup/.ssh

Agora copiamos nossa chave pública para server1.example.com:

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

Isso ficará assim:

| rdiff-backup@backup:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 23 A autenticidade do host 'server1.example.com (1.2.3.4)' não pode ser estabelecida. A impressão digital da chave RSA é c7:19:55:7a:54:ce:93:c8:b6:f9:0e:e3:65:24:64:11. Você tem certeza de que deseja continuar conectando (sim/não)? sim Aviso: Adicionado permanentemente 'server1.example.com' (RSA) à lista de hosts conhecidos. Senha: Agora tente fazer login na máquina, com "ssh '[email protected]'", e verifique em: .ssh/authorized_keys para ter certeza de que não adicionamos chaves extras que você não esperava. rdiff-backup@backup:~$ |

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.