Como usar o rsync para sincronizar backups entre dois servidores
Oi! Aqui é a Sensei da GeHost 🙂 Se você chegou até este guia, provavelmente já ouviu falar do rsync — uma ferramenta de linha de comando super confiável pra copiar e sincronizar arquivos entre dois servidores, ideal pra manter uma cópia de segurança (backup) atualizada em outro lugar. Vamos com calma, passo a passo, sem enrolação.
O que é o rsync e por que ele é tão usado
O rsync é um programa que roda no terminal (via SSH) e serve para copiar arquivos de um servidor para outro. A grande vantagem dele é que, depois da primeira cópia completa, ele só transfere o que mudou — ou seja, é rápido, economiza banda e é perfeito para rotinas de backup recorrentes.
💡 Dica da Sensei: pense no rsync como um "espelho inteligente": ele compara os dois lados e só copia a diferença, em vez de reenviar tudo de novo a cada execução.
Antes de começar
Para seguir este guia você vai precisar de:
- Acesso SSH nos dois servidores (o de origem e o de destino). Se você não sabe se o seu plano tem esse acesso liberado, confira no painel.gehost.com.br ou fale com o suporte.
- O usuário e o endereço do servidor de destino (ex.: um VPS próprio ou outro servidor seu).
- Um terminal — pode ser o Terminal do macOS/Linux, ou o PowerShell/WSL no Windows.
Passo a passo
-
Teste o acesso SSH ao servidor de destino.
Antes de sincronizar qualquer coisa, confirme que você consegue entrar no outro servidor normalmente:
ssh usuario@servidor-destinoSe pedir senha e você conseguir logar, ótimo — já pode sair (
exit) e seguir para o próximo passo. -
(Recomendado) Configure uma chave SSH.
Isso evita ficar digitando senha toda vez que o backup rodar — essencial se você quiser automatizar depois. Gere uma chave e copie para o destino:
ssh-keygen -t ed25519
ssh-copy-id usuario@servidor-destino -
Rode o comando básico do rsync.
Este exemplo copia uma pasta local para uma pasta no servidor de destino:
rsync -avz /caminho/da/pasta-local/ usuario@servidor-destino:/caminho/de/destino/Explicando as opções, sem pressa:
- -a (archive): preserva permissões, datas e a estrutura das pastas.
- -v (verbose): mostra na tela o que está sendo copiado.
- -z (compress): comprime os dados durante a transferência, deixando mais rápido.
-
Fique de olho na barrinha final ( / ).
Isso é o detalhe que mais confunde iniciantes: se a pasta de origem termina com /, o rsync copia o conteúdo dela. Se não termina, ele copia a pasta inteira para dentro do destino. Escolha o que faz sentido pro seu caso e mantenha o padrão sempre igual.
-
Use
--deletecom cuidado, se quiser um espelho exato.Se você quer que o destino fique idêntico à origem (inclusive removendo no destino o que não existe mais na origem), adicione:
rsync -avz --delete /caminho/da/pasta-local/ usuario@servidor-destino:/caminho/de/destino/⚠️ Atenção: o
--deleteapaga arquivos no destino que não existirem mais na origem. Teste primeiro sem essa opção (ou com--dry-run, explicado abaixo) antes de usar em produção. -
Simule antes de executar de verdade.
O rsync tem um modo "ensaio" que mostra o que seria feito, sem mexer em nada de verdade:
rsync -avz --dry-run /caminho/da/pasta-local/ usuario@servidor-destino:/caminho/de/destino/Rode assim primeiro, confira a lista de arquivos que apareceria, e só depois tire o
--dry-runpara executar de verdade. -
Automatize com o cron (opcional).
Depois que o comando estiver funcionando do jeito que você quer, você pode agendá-lo para rodar sozinho todo dia, por exemplo às 3h da manhã. No terminal, digite
crontab -ee adicione uma linha como:0 3 * * * rsync -avz /caminho/da/pasta-local/ usuario@servidor-destino:/caminho/de/destino/Assim seu backup vira uma rotina automática, sem você precisar lembrar de rodar manualmente.
Cuidados importantes
- Sempre teste com --dry-run antes de rodar comandos com
--delete. - Confirme que o usuário SSH usado tem permissão de escrita na pasta de destino.
- Guarde bem sua chave SSH privada — ela dá acesso direto ao servidor. Nunca compartilhe.
- Se o backup for de um site inteiro, prefira sincronizar fora do horário de pico, para não pesar no desempenho.
🌱 Dica da Sensei: comece sincronizando uma pasta pequena de teste antes de apontar o rsync para toda a sua hospedagem. Isso te dá confiança no comando antes de usá-lo em algo importante.
Precisa de ajuda?
Se tiver dúvida sobre se o seu plano possui acesso SSH liberado, ou travar em algum passo, é só chamar o suporte da GeHost pelo painel.gehost.com.br. Estamos por aqui pra te ajudar! 💙