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
- Abra o terminal no seu computador (no Linux/Mac já vem pronto; no Windows, abra o WSL ou o Git Bash).
-
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 PORTATroque
usuario,seuservidor.com.brePORTApelos dados que você recebeu da GeHost. Se conseguir entrar, ótimo — pode sair digitandoexite seguir para o próximo passo. -
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.
-
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á.
- 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
--progresspara 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! 🚀