SSH & Avanzado 46 visualizações

Como configurar o rsync com exclusão de arquivos para sincronizar só o necessário

Ver no WHMCS

Como configurar o rsync com exclusão de arquivos para sincronizar só o necessário

Olá, viajante do conhecimento! Seja bem-vindo ao seu guia de confiança, onde aprendemos juntos, com calma e segurança. Hoje vamos explorar uma ferramenta poderosa do mundo Linux: o rsync. Vamos usar ele para sincronizar seus arquivos com o servidor da GeHost, mas com um toque especial: excluindo arquivos que não precisamos.

Imagine que você tem um site com milhares de arquivos, mas só quer atualizar as partes que mudaram — como um novo post, uma imagem nova ou um CSS atualizado. O rsync é perfeito para isso. E com a exclusão certa, evitamos sobrecarregar o servidor com arquivos desnecessários.

Este guia é para quem já tem acesso via SSH (como no terminal do seu computador) e quer automatizar atualizações com precisão. Vamos lá, com passos simples, como se fosse um conversa entre amigos.

Passo 1: Prepare-se com o que você precisa

Antes de tudo, certifique-se de que:

  • Você tem acesso SSH ao seu servidor da GeHost (via painel.gehost.com.br).
  • Seu computador tem o rsync instalado. No Linux ou macOS, ele já vem por padrão. No Windows, use o WSL ou o Git Bash.
  • Seu projeto tem uma lista clara de arquivos que não devem ser sincronizados — como arquivos temporários, cache, arquivos de configuração local, etc.

Dica do Sensei: Arquivos como .git, node_modules, cache/, logs/, Thumbs.db ou config.local.php são ótimos candidatos para exclusão.

Passo 2: Escreva a lista de arquivos para excluir

Antes de rodar o rsync, vamos criar uma lista de arquivos e pastas que queremos ignorar. Você pode fazer isso diretamente na linha de comando ou usar um arquivo de exclusão.

Exemplo de comando com exclusão direta:

rsync -avz --exclude='.git' --exclude='node_modules' --exclude='cache/' --exclude='logs/' --exclude='Thumbs.db' /caminho/local/ usuario@seu-servidor:/caminho/remoto/

Explicando:

  • -a: modo arquivar (mantém permissões, datas, links).
  • -v: modo verboso (mostra o que está sendo feito).
  • -z: compressão durante o envio.
  • --exclude: define arquivos/pastas a serem ignorados.

Passo 3: Use um arquivo de exclusão (recomendado para projetos grandes)

Se você tem muitos arquivos para excluir, é melhor criar um arquivo com a lista. Isso deixa tudo mais limpo e fácil de manter.

Crie um arquivo chamado exclude.txt no seu projeto com conteúdo assim:

.git
node_modules
cache/
logs/
Thumbs.db
*.tmp
.DS_Store
config.local.php

Salve esse arquivo na raiz do seu projeto.

Depois, use o comando com o parâmetro --exclude-from:

rsync -avz --exclude-from='exclude.txt' /caminho/local/ usuario@seu-servidor:/caminho/remoto/

Pronto! O rsync vai ler o arquivo e ignorar tudo o que está lá.

Passo 4: Teste com o parâmetro --dry-run

Nunca faça uma sincronização importante sem testar primeiro! Use o --dry-run para ver o que aconteceria sem realmente enviar nada:

rsync -avz --dry-run --exclude-from='exclude.txt' /caminho/local/ usuario@seu-servidor:/caminho/remoto/

Isso mostra todos os arquivos que seriam enviados ou ignorados. Se tudo estiver certo, você pode rodar o comando sem o --dry-run.

Passo 5: Automatize (opcional, mas incrível)

Se você atualiza o site frequentemente, pode criar um script (um arquivo `.sh`) para rodar esse comando com um clique.

Exemplo de script (salve como sync.sh):

#!/bin/bash
echo "Iniciando sincronização..."
rsync -avz --exclude-from='exclude.txt' /caminho/local/ usuario@seu-servidor:/caminho/remoto/
echo "Sincronização concluída! 🎉"

Depois, torne-o executável:

chmod +x sync.sh

E execute com:

./sync.sh

Passo 6: Dicas finais do Sensei

Antes de sair por aí sincronizando tudo, lembre-se:

  • Use sempre o --dry-run antes da primeira sincronização real.
  • Evite excluir arquivos importantes, como index.php, config.php ou arquivos de banco de dados.
  • Se tiver dúvidas sobre o caminho do seu site no servidor, acesse o painel da GeHost e verifique o diretório public_html.
  • Se precisar de ajuda com o SSH ou com o acesso, entre em contato com o suporte da GeHost — eles estão aqui para te ajudar.

Importante: A GeHost é parte do grupo G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04). Todos os serviços são fornecidos por esta empresa, com suporte e garantias conforme seu plano no painel do cliente.

Se você gostou deste guia, compartilhe com quem também quer aprender com o coração. E lembre-se: cada arquivo que você sincroniza com sabedoria é um passo para um site mais leve, mais rápido e mais feliz.

Até a próxima, com amor e código. 🌿

Precisa de Ajuda?

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