SSH & Avançado 36 visualizações

Como usar rsync pra sincronizar arquivos entre o servidor e o computador local

Ver no WHMCS

Rsync: sincronizando arquivos entre o seu computador e o servidor

Se você já perdeu tempo copiando arquivo por arquivo via FTP, ou teve que reenviar uma pasta inteira só porque mudou um detalhezinho, este guia é pra você. Vamos aprender a usar o rsync, uma ferramenta de linha de comando que sincroniza arquivos de forma inteligente: ele só transfere o que mudou, economizando tempo e banda. Bora com calma, passo a passo. 🧘

O que é o rsync e por que usar

O rsync ("remote sync") é um programa que compara os arquivos de dois lugares — por exemplo, uma pasta no seu computador e uma pasta no servidor — e transfere apenas as diferenças. Isso é bem diferente de um FTP comum, que geralmente reenvia o arquivo inteiro mesmo que só uma linha tenha mudado.

  • É mais rápido em atualizações recorrentes (ex.: subir um site depois de pequenas alterações).
  • Pode apagar no destino arquivos que não existem mais na origem (mantendo tudo espelhado, se você pedir).
  • Funciona de forma segura, transferindo os dados criptografados por SSH.
Dica da Sensei: o rsync é uma ferramenta poderosa — ele pode até apagar arquivos do destino se você usar a opção errada sem perceber. Vá com calma, teste antes de "valer", e sempre tenha um backup à mão (você pode gerar um backup da sua conta pela tela de Backup do cPanel antes de operações grandes).

Pré-requisitos

  1. Acesso SSH liberado na sua hospedagem. Nem todo plano vem com isso habilitado por padrão — se você não sabe se tem, fale com o nosso suporte pelo painel.gehost.com.br e peça a liberação/confirmação do acesso SSH para o seu usuário.
  2. rsync instalado no seu computador.
    • Linux: geralmente já vem instalado. Se não, sudo apt install rsync (Debian/Ubuntu) ou equivalente da sua distro.
    • macOS: também costuma vir instalado. Se precisar, dá pra instalar via Homebrew: brew install rsync.
    • Windows: o jeito mais tranquilo é usar o WSL (Subsistema Linux do Windows) ou um terminal como o Git Bash, que trazem o rsync junto.
  3. Seu usuário e domínio de acesso. Use o seu usuário do cPanel e o seu domínio (ex.: seuusuario@seudominio.com.br) — esses dados você encontra no e-mail de boas-vindas ou no painel do cliente. Nunca é preciso usar um endereço de IP: o domínio já resolve certinho.

Passo a passo: sincronizando arquivos

1. Teste a conexão SSH primeiro

Antes de sincronizar qualquer coisa, confirme que a conexão SSH está funcionando. Abra o terminal e digite:

ssh seuusuario@seudominio.com.br

Se pedir a senha (ou a chave, caso você já tenha configurado uma) e você conseguir entrar, ótimo — está tudo pronto para o próximo passo. Digite exit para sair.

2. Enviando arquivos do seu computador para o servidor

O comando básico para enviar (upload) uma pasta local para o servidor é:

rsync -avz --progress ./minha-pasta-local/ seuusuario@seudominio.com.br:~/public_html/

Vamos entender cada parte:

  • -a (archive): preserva permissões, datas e estrutura de pastas — o modo "seguro e completo" de copiar.
  • -v (verbose): mostra na tela o que está sendo transferido.
  • -z (compress): comprime os dados durante a transferência, deixando mais rápido.
  • --progress: mostra a barra de progresso de cada arquivo.
  • A barra "/" no final da pasta de origem é importante: ela diz "copie o conteúdo desta pasta", e não a pasta em si. Preste atenção nisso — é o erro mais comum!

3. Baixando arquivos do servidor para o seu computador

É só inverter a ordem: origem no servidor, destino local.

rsync -avz --progress seuusuario@seudominio.com.br:~/public_html/ ./minha-pasta-local/

Assim você traz uma cópia atualizada do site (ou de uma pasta específica) para o seu computador — ótimo para backups locais antes de mexer em algo delicado.

Testando antes de valer: o modo "simulação"

Essa é a dica mais importante deste guia. Antes de rodar uma sincronização "de verdade" — principalmente se for usar a opção de apagar arquivos —, use o --dry-run, que simula a operação e mostra o que seria feito, sem alterar nada:

rsync -avz --dry-run ./minha-pasta-local/ seuusuario@seudominio.com.br:~/public_html/

Olhe a lista que aparece. Se estiver tudo como esperado, é só rodar o mesmo comando sem o --dry-run.

Dica da Sensei: crie o hábito de sempre rodar com --dry-run primeiro quando a pasta envolvida for importante (como o public_html de um site em produção). Um minuto de simulação evita uma dor de cabeça de horas.

Mantendo pastas espelhadas (cuidado aqui!)

Se você quer que o destino fique idêntico à origem — ou seja, arquivos que não existem mais na origem sejam apagados também no destino — use a opção --delete:

rsync -avz --delete --dry-run ./minha-pasta-local/ seuusuario@seudominio.com.br:~/public_html/

Repare que colocamos o --dry-run junto: nunca use --delete pela primeira vez sem simular antes. Essa opção apaga de verdade o que estiver "sobrando" no destino, então só use quando tiver certeza do que está fazendo — e com um backup recente guardado.

Ignorando arquivos que você não quer sincronizar

Muita gente não quer subir pastas como node_modules, .git ou arquivos temporários. Dá pra excluir com --exclude:

rsync -avz --exclude 'node_modules' --exclude '.git' ./meu-projeto/ seuusuario@seudominio.com.br:~/public_html/

Você pode repetir --exclude quantas vezes precisar, uma para cada pasta ou padrão de arquivo.

Resumo dos comandos essenciais

O que você quer fazerComando
Testar antes de aplicar--dry-run
Enviar arquivos (upload)rsync -avz origem/ usuario@dominio:destino/
Baixar arquivos (download)rsync -avz usuario@dominio:origem/ destino/
Espelhar (apaga o que sobrar)--delete (sempre com --dry-run antes!)
Ignorar pastas/arquivos--exclude 'nome'

Problemas comuns

  • "Permission denied" ou "command not found: rsync": confirme com o nosso suporte se o SSH está liberado para o seu usuário e se o rsync está disponível no servidor.
  • A senha não é aceita: verifique se você está digitando o usuário certo (o mesmo do cPanel) e o domínio correto. Se tiver dúvida sobre suas credenciais, consulte o painel do cliente ou fale com o suporte.
  • A transferência parece copiar tudo de novo sempre: confira se as datas de modificação dos arquivos locais não estão sendo alteradas por outro programa (alguns editores "tocam" o arquivo mesmo sem mudar o conteúdo).
  • Ficou lento: em conexões mais fracas, a opção -z (compressão) ajuda bastante — confirme que ela está no comando.
Dica final da Sensei: comece sempre testando em uma pasta de teste, não direto no public_html de um site que está no ar. Depois que pegar confiança com o --dry-run, você vai ver como o rsync se torna um dos seus melhores amigos no dia a dia. Qualquer dúvida, nosso suporte está por aqui — é só chamar pelo painel. 🙏
Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.