Backup Linux · 6 min read · Sep 16, 2025

Como Usar Rsnapshot para Backup e Restauração em Servidores Linux

rsnapshot é uma ferramenta de backup para máquinas baseadas em Linux. Está disponível na maioria das distribuições Linux, você pode instalá-la facilmente através do gerenciador de pacotes. rsnapshot é escrito em Perl sem dependências, também suporta backup local e remoto.

Com rsnapshot, você pode fazer backup do seu diretório local. Quanto ao backup remoto, rsnapshot utiliza ‘ssh’ e ‘rsync’.

Neste tutorial, você aprenderá como fazer backup e restaurar usando Rsnapshot em um servidor Linux. Você configurará rsnapshot para backup local e remoto. Você também aprenderá como configurar um backup automático com rsnapshot e cron.

Pré-requisitos

Para completar este guia, certifique-se de que você tem o seguinte:

  • Um servidor Linux como Debian, Ubuntu, CentOS ou qualquer distribuição
  • Um usuário não-root com privilégios de administrador
  • Opcional, servidor adicional para testar backup remoto

Instalando rsnapshot

rsnapshot é uma ferramenta de backup que está disponível na maioria das distribuições Linux. Você pode instalá-la através do gerenciador de pacotes respectivo. Nesta seção, você instalará rsnapshot no servidor Debian. Portanto, se você estiver usando uma distribuição diferente, instale-a com seu gerenciador de pacotes atual.

Primeiro, atualize seu índice de pacotes com o seguinte comando. Neste exemplo, estaremos usando Debian, você pode usar distribuições baseadas em Debian como Ubuntu, Linux Mint, etc.

sudo apt update

atualizar repositório

Uma vez atualizado, execute o comando abaixo para instalar o pacote ‘ rsnapshot ‘. Digite ‘ Y ‘ para confirmar sua instalação.

sudo apt install rsnapshot

instalar rsnapshot

Após a instalação ser concluída, verifique a localização do binário ‘ rsnapshot ‘ e sua versão.

which rsnapshot  
rsnapshot --version

Você pode ver abaixo, o Rsnapshot 1.4 está instalado em ‘ /usr/bin/rsnapshot ‘.

verificar rsnapshot

Configurando autenticação por chave SSH

Ao fazer backup remoto, você deve garantir que seu servidor rsnapshot possa fazer login no servidor de destino usando autenticação por chave SSH. Portanto, para backup remoto, você deve ter o seguinte:

  • Um usuário que será usado para fazer login no servidor de destino
  • Autenticação baseada em chave SSH está habilitada

Nesta seção, você gerará uma chave SSH no servidor rsnapshot. E então copiará a chave pública SSH para o servidor de destino em ‘ 192.168.10.41 ‘ usando o usuário ‘ alice ‘.

No servidor ‘rsnapshot’, gere as chaves pública e privada SSH usando o comando ‘ ssh-keygen ‘ abaixo. Pressione ‘ENTER’ quando solicitado a localização da chave e senha.

ssh-keygen -t ed25519

gerar chave ssh

Agora execute o comando ‘ ssh-copy-id ‘ abaixo para fazer o upload da chave pública SSH para seu servidor de destino. Neste exemplo, você fará backup remoto do servidor ‘ 192.168.10.41 ‘ com a autenticação SSH baseada em chave e usando o usuário ‘ alice ‘.

ssh-copy-id [email protected]

Digite sua senha quando solicitado.

ssh upload chave

Uma vez que a chave pública SSH foi carregada, você está pronto para configurar Rsnapshot.

Configurando rsnapshot

Nesta seção, você configurará rsnapshot para backup local e remoto. Você modificará a configuração padrão ‘ /etc/rsnapshot.conf ‘, configurará o diretório de backup padrão, habilitará a integração com SSH e Rsync, configurará o backup em intervalos e, em seguida, configurará o backup local e remoto.

Copie a configuração padrão do rsnapshot ‘ /etc/rsnapshot.conf ‘ e modifique o arquivo com o editor ‘ nano ‘ ou ‘ vim ‘.

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig  
sudo nano /etc/rsnapshot.conf

Altere o ‘ snapshot_root ‘ padrão para um novo diretório. Este diretório será usado para armazenar seus dados de backup.

snapshot_root /data/backup/

Descomente as opções ‘ cmd_rsync ‘ e ‘ cmd_ssh ‘ para habilitar o backup remoto com rsync via SSH.

cmd_rsync /usr/bin/rsync  
cmd_ssh /usr/bin/ssh

Altere os níveis ou intervalos de backup padrão como a seguir. A nomenclatura é opcional, você pode alterá-la conforme necessário. Portanto, para este exemplo, o ‘ daily 6 ‘ criará diretórios de backup nomeados ‘ daily.0 ‘ a ‘ daily.5 ‘.

NOTA: Use TAB em vez de espaço, pois isso causará um erro.

retain daily 6  
retain weekly 7  
retain monthly 4

Descomente a opção ‘ logfile ‘ para habilitar um log do rsnapshot no arquivo.

logfile /var/log/rsnapshot.log

Se você estiver executando um servidor remoto com uma porta SSH personalizada, descomente a opção ‘ ssh_args ‘ e altere a porta.

ssh_args -p 22

Agora para backup local, use a configuração assim. Neste exemplo, faremos backup do diretório local ‘ /home/arvd l’ para o ‘ local ‘. O caminho de destino deve ser um caminho relativo, isso é igual a ‘ /srv/backup/name-interval/local ‘.

backup /home/arvdl/ local

Para o backup remoto via SSH e rsync, use a configuração assim. Neste exemplo, faremos backup dos diretórios ‘ /etc ‘ e ‘ /var/www ‘ do servidor remoto ‘ 192.168.10.41 ‘ com o usuário SSH ‘ alice ‘ para o diretório de caminho relativo ‘ server1 ‘.

backup [email protected]:/etc/ server1  
backup [email protected]:/var/www server1

Salve e saia do arquivo quando terminar.

Depois de configurar o rsnapshot, verifique e teste a configuração do rsnapshot com o seguinte. Se você tiver uma configuração adequada, verá uma saída ‘ Syntax OK ‘.

rsnapshot configtest

Testando backup do rsnapshot manualmente

Agora que você configurou o rsnapshot, vamos verificar e testar seu backup com rsnapshot fazendo o backup manualmente, verificando o diretório de backup e o arquivo de log do rsnapshot.

Para testar seu backup manualmente, execute o comando ‘rsnapshot’ abaixo. Certifique-se de alterar ‘ daily ‘ pelo nome do seu backup.

rsnapshot daily

Se o processo estiver completo, verifique o diretório de backup ‘ /srv/backup ‘ com o seguinte comando. Você verá um novo diretório de backup ‘ daily.0 ‘ que contém seus arquivos de backup dos servidores local e remoto.

ls /srv/backup/

Agora execute o comando abaixo para verificar o uso do disco pelo rsnapshot.

rsnapshot du

Na saída abaixo, você pode ver que o uso total do disco para o backup do rsnapshot é de 5MB.

rsnapshot du

Por fim, verifique o arquivo de log de backup ‘ /var/log/rsnapshot.log ‘ para verificar seu processo de backup.

cat /var/log/rsnapshot.log

O seguinte mostra que o backup foi bem-sucedido, mas com alguns avisos, como permissão negada ao fazer backup do arquivo ‘ /etc/shadow ‘.

arquivo de log

Backup automático com Cron

Para o backup automático, você pode integrar o rsnapshot com o cron. Por exemplo, você configurará o cron para backup automático como ‘ daily ‘, ‘ weekly ‘ e ‘ monthly ‘.

Abra o arquivo ‘ /etc/cron.d/rsnapshot ‘ com o editor ‘nano’. Este arquivo é um exemplo gerado pelo rsnapshot.

sudo nano /etc/cron.d/rsnapshot

Insira a seguinte configuração para backup automático via rsnapshot. Neste exemplo, o backup ‘ daily ‘ será executado diariamente, assim como ‘ weekly ‘ e ‘ monthly ‘ dentro de seus respectivos horários.

0 0 * * * root rsnapshot daily  
0 0 * * 0 root rsnapshot weekly  
0 0 1 * * root rsnapshot monthly

Salve o arquivo e saia do editor.

Com isso, seu backup automático será executado via cron.

Restaurando backup do rsnapshot

Para restaurar o backup do rsnapshot, você só precisa copiar seus dados do diretório de backup para seu destino. Para este exemplo, você pode copiar seus dados do diretório de backup ‘/srv/backup’.

Conclusão

Parabéns! Você completou o tutorial para instalar o rsnapshot e configurar o rsnapshot para backup local e remoto, e aprendeu alguns comandos básicos do ‘rsnapshot’. Por fim, você também aprendeu como configurar um backup automático com rsnapshot e cron.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.