Como usar o comando rsync para sincronizar backups entre dois servidores imprimir

  • 0

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

  1. 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-destino

    Se pedir senha e você conseguir logar, ótimo — já pode sair (exit) e seguir para o próximo passo.

  2. (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

  3. 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.
  4. 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.

  5. Use --delete com 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 --delete apaga 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.
  6. 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-run para executar de verdade.

  7. 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 -e e 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! 💙


Esta resposta lhe foi útil?

« Retornar