Backup Automatizado · 2 min read · Feb 08, 2026
Backups Automatizados Com rdiff-backup - Página 2
Passo 3: Edite a Chave Pública Em server1.example.com
Faça login como root em server1.example.com e dê uma olhada em /root/.ssh/authorized_keys. Deve parecer semelhante a isto:
| ssh-rsa AAAAB3Nza[...]W1go9M= rdiff-backup@backup |
Agora adicione a seguinte string ao início de /root/.ssh/authorized_keys:
command=”rdiff-backup –server –restrict-read-only /“,from=”backup.example.com”,no-port-forwarding,no-X11-forwarding,no-pty
Deve estar em uma linha(!) com a chave, apenas separada por um espaço:
| command="rdiff-backup --server --restrict-read-only /",from="backup.example.com",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3Nza[...]W1go9M= rdiff-backup@backup |
Isso executará o comando rdiff-backup –server –restrict-read-only /* quando o usuário rdiff-backup de backup.example.com se conectar a server1.example.com via SSH. –restrict-read-only / garante que rdiff-backup tenha apenas acesso de leitura em server1.example.com. Depende da sua versão do rdiff-backup se isso funciona. Se isso não funcionar para você, você pode deixar de fora –restrict-read-only /*, de modo que fique:
command=”rdiff-backup –server”,from=”backup.example.com”,no-port-forwarding,no-X11-forwarding,no-pty
Em from=”backup.example.com” você deve usar o nome do host que uma pesquisa reversa do endereço IP de backup.example.com retorna. Por exemplo, se o endereço IP de backup.example.com for 1.2.3.4, e **
dig -x 1.2.3.4
retorna
| rdiff-backup@backup:~$ dig -x 1.2.3.4 ; <> DiG 9.2.4 <> -x 1.2.3.4 ;; opções globais: printcmd ;; Resposta recebida: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38020 ;; flags: qr rd ra; QUERY: 1, RESPOSTA: 1, AUTORIDADE: 0, ADICIONAL: 0 ;; SEÇÃO DE PERGUNTAS: ;4.3.2.1.in-addr.arpa. IN PTR ;; SEÇÃO DE RESPOSTA: 4.3.2.1.in-addr.arpa. 43200 IN PTR server3245.somehoster.com. ;; Tempo da consulta: 118 msec ;; SERVIDOR: 145.253.2.75#53(145.253.2.75) ;; QUANDO: Qui Out 13 14:56:03 2005 ;; TAMANHO MSG recebido: 83 rdiff-backup@backup:~$ |
então você deve usar server3245.somehoster.com:
command=”rdiff-backup –server –restrict-read-only /“,from=”server3245.somehoster.com”,no-port-forwarding,no-X11-forwarding,no-pty
Você também pode usar o endereço IP de backup.example.com:
command=”rdiff-backup –server –restrict-read-only /“,from=”1.2.3.4”,no-port-forwarding,no-X11-forwarding,no-pty
Em seguida, execute
chmod -R go-rwx /root/.ssh
Então, dê uma olhada em /etc/ssh/sshd_config. Deve conter as linhas
| RSAAuthentication yes PubkeyAuthentication yes |
Reinicie o ssh se você teve que mudar /etc/ssh/sshd_config:
/etc/init.d/ssh restart
Passo 4: Teste o rdiff-backup Em backup.example.com
De volta a backup.example.com, novamente como o usuário rdiff-backup, testamos o backup:
cd /backup
rdiff-backup server1_backup::/boot boot
No segundo comando, você vê a string server1_backup. Essa é a string que usamos em /backup/.ssh/config após host. Com este segundo comando, o usuário rdiff-backup se conectará a server1.example.com como o usuário root e salvará o diretório /boot de server1.example.com no diretório /backup/boot em backup.example.com. Se você ver que está funcionando e não precisa digitar uma senha, então - parabéns! Você conseguiu!
Agora, tudo o que resta a fazer é criar um trabalho cron. Ainda como o usuário rdiff-backup, execute
crontab -e
e crie um trabalho cron assim:
40 2 /usr/bin/rdiff-backup –exclude /tmp –exclude /mnt –exclude /proc –exclude /dev –exclude /cdrom –exclude /floppy server1_backup::/ /backup/server1*
Isso executa o backup todas as noites às 2:40h, salvando o diretório / com todos os subdiretórios (excluindo /tmp, /mnt, /proc, /dev, /cdrom, /floppy) de server1.example.com em /backup/server1 em backup.example.com.
(Nota (um pouco fora do tópico): no Debian Sarge crontab -e abrirá automaticamente o editor nano. Se você está acostumado a trabalhar com o editor vi (como eu), execute os seguintes comandos:
rm -f /etc/alternatives/editor
ln -s /usr/bin/vi /etc/alternatives/editor
Depois, execute crontab -e, e vi será aberto.)
Para descobrir mais comandos do rdiff-backup (especialmente como restaurar um backup), execute
man rdiff-backup e dê uma olhada em http://www.nongnu.org/rdiff-backup/examples.html.
Links
Página inicial do rdiff-backup: http://www.nongnu.org/rdiff-backup/index.html
Exemplos do rdiff-backup: http://www.nongnu.org/rdiff-backup/examples.html
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.