Como usar rsync para sincronizar arquivos entre servidores pelo SSH imprimir

  • 0

Rsync via SSH: como sincronizar arquivos entre servidores sem sofrimento

Oi! Aqui é a Sensei da GeHost 🌱. Hoje vamos falar de uma ferramenta que parece assustadora de primeira vista, mas que — depois que você entende a lógica — vira sua melhor amiga na hora de mover ou sincronizar arquivos: o rsync.

Se você já teve que copiar uma pasta cheia de arquivos de um lugar para outro (por exemplo, do seu computador para o servidor, ou de um servidor para outro) e ficou com medo de reenviar tudo do zero toda vez que muda um arquivinho, o rsync foi feito pra você.

O que é o rsync, afinal?

O rsync ("remote sync") é um programa de linha de comando que copia e sincroniza arquivos entre duas pastas — sejam elas no mesmo computador, ou em servidores diferentes. A grande mágica dele é que, depois da primeira cópia, ele envia apenas o que mudou, em vez de reenviar tudo de novo. Isso economiza tempo e dados.

Quando combinado com o SSH (o protocolo seguro de acesso remoto), o rsync consegue fazer essa sincronização de forma criptografada, ou seja, segura — ninguém no meio do caminho consegue ler o que está sendo transferido.

Dica da Sensei: pense no rsync como um "espelho inteligente". Ele compara o que já existe dos dois lados e só transfere a diferença.

Antes de começar: o que você vai precisar

  • Um computador com Linux ou macOS (o rsync já vem instalado). No Windows, você pode usar o WSL (Subsistema Windows para Linux) ou um terminal como o Git Bash;
  • Acesso SSH liberado na sua hospedagem. Nem todo plano tem esse recurso habilitado por padrão — confira no painel.gehost.com.br ou fale com o suporte para confirmar se o SSH está disponível na sua conta e qual é o usuário de acesso;
  • O endereço do servidor e a porta de SSH, que você encontra nos dados de acesso enviados pela GeHost (não publique esses dados em lugar nenhum!).
Importante: a GeHost trabalha com hospedagem em cPanel. Isso significa que o acesso via SSH, quando disponível, é um acesso de usuário à sua própria conta — não é acesso root nem uma VPS. Se tiver dúvida sobre o que sua conta permite, o suporte confirma certinho.

Passo a passo: sincronizando arquivos com rsync + SSH

  1. Abra o terminal no seu computador (no Linux/Mac já vem pronto; no Windows, abra o WSL ou o Git Bash).
  2. Teste a conexão SSH primeiro, sem o rsync ainda, só para garantir que os dados de acesso estão certos:

    ssh usuario@seuservidor.com.br -p PORTA

    Troque usuario, seuservidor.com.br e PORTA pelos dados que você recebeu da GeHost. Se conseguir entrar, ótimo — pode sair digitando exit e seguir para o próximo passo.

  3. Monte o comando de sincronização. A estrutura básica é:

    rsync -avz -e "ssh -p PORTA" /caminho/da/pasta/local/ usuario@seuservidor.com.br:/caminho/da/pasta/remota/

    Repare que cada parte tem um papel:

    • -a = modo "arquivo", preserva permissões, datas e subpastas;
    • -v = modo "verbose", mostra na tela o que está sendo enviado;
    • -z = comprime os dados durante o envio (mais rápido em conexões lentas);
    • -e "ssh -p PORTA" = diz ao rsync para usar o SSH, na porta certa, como "túnel" de transporte.
  4. Preste atenção na barra "/" no final dos caminhos. Essa é a pegadinha mais comum:
    • /minha-pasta/ (com barra no final) envia o conteúdo da pasta;
    • /minha-pasta (sem barra) envia a pasta inteira, criando uma pasta dentro da outra do lado de lá.
  5. Rode o comando e acompanhe. Na primeira vez, o rsync vai copiar tudo. Nas próximas vezes que você rodar o mesmo comando, ele vai enviar só o que mudou — bem mais rápido.

Opções extras que valem a pena conhecer

  • --delete: remove do destino os arquivos que não existem mais na origem, mantendo os dois lados idênticos. Use com cuidado — é uma via de mão dupla que também apaga coisas!
  • -n (ou --dry-run): faz uma "simulação", mostrando o que seria feito, sem mexer em nada de verdade. Ótimo para testar antes de rodar o comando de verdade;
  • --progress: mostra uma barrinha de progresso de cada arquivo sendo enviado.
Dica de ouro da Sensei: sempre que for usar --delete, rode antes com -n (simulação). Assim você vê exatamente o que seria apagado antes de apagar de verdade.

Exemplo prático

Imagine que você quer simular o envio dos arquivos de um site (sem apagar nada de verdade ainda), da sua pasta local meu-site/ para a pasta public_html da sua hospedagem:

rsync -avzn -e "ssh -p PORTA" ./meu-site/ usuario@seuservidor.com.br:public_html/

Veja que a única diferença para o comando "de verdade" é o n extra dentro de -avzn. Depois de conferir que está tudo certo, é só rodar sem o n.

Segurança em primeiro lugar

  • Sempre que possível, prefira usar uma chave SSH em vez de digitar senha toda hora — é mais seguro e mais prático;
  • Nunca compartilhe seus dados de acesso SSH (usuário, senha ou chave privada) em e-mails, chats ou prints;
  • Depois de usar um computador público ou de terceiros para acessar via SSH, sempre encerre a sessão com exit.

Se algo der errado

Alguns erros são bem comuns e não significam que algo está quebrado:

  • "Connection refused" ou "Permission denied": geralmente é usuário, senha ou porta incorretos — vale conferir os dados de acesso;
  • "rsync: command not found" no servidor: nesse caso, fale com o nosso suporte para confirmar a disponibilidade do rsync na sua conta;
  • Comando "trava" sem terminar: pode ser uma pasta muito grande ou conexão instável — vale testar de novo com --progress para acompanhar.

Se mesmo assim algo não sair como esperado, é só chamar o suporte da GeHost pelo painel.gehost.com.br — a gente ajuda a confirmar acesso, caminho de pastas e o que mais precisar. 💚

Combinado? Agora é só praticar com calma — o rsync é uma daquelas ferramentas que, depois do primeiro uso, você não vive mais sem. Bons syncs! 🚀


Esta resposta lhe foi útil?

« Retornar