Como usar o rsync para sincronizar arquivos entre servidores via SSH imprimir

  • 0

Sincronizando arquivos entre servidores com rsync via SSH

Olá! Eu sou a Sensei da GeHost, e hoje vamos falar sobre uma ferramenta poderosa para quem já tem um pouco mais de intimidade com o terminal: o rsync. Se você precisa copiar ou sincronizar arquivos entre dois servidores (ou entre seu computador e um servidor) de forma rápida e segura, o rsync é o parceiro ideal. Vamos entender juntos como ele funciona, com calma e sem pressa.

O que é o rsync e por que ele é tão útil?

O rsync (de "remote sync") é um utilitário que copia arquivos e pastas entre dois locais, comparando o que já existe no destino e transferindo apenas as diferenças. Isso significa que, se você já copiou 10 GB de arquivos ontem e hoje só mudou um arquivo pequeno, o rsync vai enviar somente esse arquivo — não tudo de novo. Isso economiza tempo, banda e paciência!

Quando combinamos o rsync com o SSH (o protocolo seguro de acesso remoto), toda a transferência acontece de forma criptografada, ou seja, ninguém no meio do caminho consegue "espiar" seus dados.

💡 Dica da Sensei: pense no rsync como um "espelho inteligente" entre duas pastas. Ele nunca copia o que já está igual — só o que mudou.

Antes de começar: o que você precisa ter em mãos

  • Acesso via SSH ao servidor (usuário, senha ou chave, e a porta de conexão). Se você não tiver esses dados ou não souber se seu plano permite acesso SSH, consulte o painel do cliente em painel.gehost.com.br ou fale com o nosso suporte — eles vão te orientar certinho.
  • Um terminal para digitar os comandos: no Linux e macOS já vem pronto; no Windows, você pode usar o PowerShell mais recente, o WSL (Subsistema Windows para Linux) ou um programa como o Git Bash.
  • Saber exatamente de qual pasta para qual pasta você quer copiar os arquivos. Ter isso claro evita erros bobos!

Passo a passo: usando o rsync via SSH

1. Testando a conexão SSH primeiro

Antes de sincronizar qualquer coisa, é uma boa prática confirmar que você consegue acessar o servidor normalmente por SSH. Isso evita sustos no meio do processo.

  1. Abra o terminal.
  2. Digite o comando de acesso, substituindo pelos seus dados reais:

ssh usuario@seu-servidor.com -p PORTA

Se a conexão pedir a senha (ou usar sua chave automaticamente) e você entrar sem erros, ótimo — está tudo pronto para o próximo passo. Se aparecer algum erro de conexão recusada ou "permission denied", volte ao painel ou fale com o suporte para confirmar usuário, senha e porta corretos.

2. Montando o comando básico do rsync

A estrutura geral de um comando rsync via SSH é:

rsync -avz -e "ssh -p PORTA" /caminho/origem/ usuario@servidor:/caminho/destino/

Vamos entender cada parte com calma:

  • -a ("archive"): mantém permissões, datas e a estrutura das pastas exatamente como está na origem.
  • -v ("verbose"): mostra na tela o que está sendo copiado, para você acompanhar o processo.
  • -z ("compress"): comprime os dados durante o envio, deixando a transferência mais rápida.
  • -e "ssh -p PORTA": diz ao rsync para usar o SSH como "transporte seguro", informando a porta correta caso ela não seja a padrão.
  • /caminho/origem/: a pasta de onde os arquivos vêm (repare na barra "/" no final — ela é importante, veja o próximo tópico).
  • usuario@servidor:/caminho/destino/: para onde os arquivos vão.
⚠️ Atenção com a barra final! Se você colocar "/" no final da pasta de origem (ex: /minha-pasta/), o rsync copia o conteúdo dela para dentro do destino. Se você não colocar a barra (ex: /minha-pasta), ele copia a pasta inteira para dentro do destino. Essa diferença pequena muda o resultado inteiro — sempre confira antes de rodar!

3. Um exemplo prático

Digamos que você quer copiar os arquivos de um site que está na pasta meu_site do seu computador para a pasta public_html do servidor. O comando ficaria assim:

rsync -avz -e "ssh -p 22" ./meu_site/ usuario@servidor:/home/usuario/public_html/

Ao rodar, o terminal vai listar cada arquivo enviado. No final, aparece um resumo com o total de dados transferidos. Simples assim!

4. Fazendo um "teste seco" antes de sincronizar de verdade

Se você quer ver o que aconteceria sem realmente mover nenhum arquivo ainda, use a opção --dry-run:

rsync -avz --dry-run -e "ssh -p PORTA" /caminho/origem/ usuario@servidor:/caminho/destino/

Essa é uma das dicas favoritas da Sensei: rodar sempre com --dry-run primeiro é uma forma segura de conferir o que será enviado, alterado ou apagado antes de confirmar de verdade.

5. Sincronizando e removendo arquivos que não existem mais na origem

Por padrão, o rsync não apaga nada no destino — ele só copia e atualiza. Se você quiser que o destino fique idêntico à origem (inclusive apagando arquivos que já não existem mais na origem), use a opção --delete:

rsync -avz --delete -e "ssh -p PORTA" /caminho/origem/ usuario@servidor:/caminho/destino/

🚨 Cuidado redobrado com o --delete! Essa opção remove arquivos do destino que não estão mais na origem. Sempre rode antes com --dry-run --delete juntos para ver exatamente o que seria apagado, e faça um backup do destino antes de usar essa opção pela primeira vez.

Erros comuns e como resolver

  • "command not found: rsync" — o rsync não está instalado na sua máquina local. No Linux normalmente já vem, e no macOS pode ser instalado via Homebrew. No Windows, use o WSL, que já traz o rsync.
  • "Permission denied" — confira usuário, senha, porta e se o caminho de destino existe e se você tem permissão de escrita nele.
  • Conexão cai no meio da transferência — não tem problema! É só rodar o mesmo comando de novo. Como o rsync só transfere o que falta, ele vai continuar de onde parou, sem duplicar trabalho.

Recapitulando

  1. Confirme que o acesso SSH está funcionando.
  2. Monte o comando com -avz e a opção -e "ssh -p PORTA".
  3. Preste atenção na barra "/" no final da pasta de origem.
  4. Use --dry-run para testar antes de rodar de verdade.
  5. Use --delete somente quando tiver certeza — e sempre com backup.

Pronto! Com esses passos você já consegue sincronizar arquivos entre servidores com segurança e tranquilidade. Se tiver qualquer dúvida sobre suas credenciais de acesso SSH ou sobre os recursos do seu plano, nossa equipe de suporte está por aqui para te ajudar. 🌱


Esta resposta lhe foi útil?

« Retornar