SSH & Avançado 2 visualizações

Como transferir arquivos entre dois servidores usando rsync via SSH

Ver no WHMCS

Como transferir arquivos entre dois servidores usando rsync via SSH

Oi, tudo bem? Aqui é a Sensei da GeHost 🥋 Hoje vou te ensinar uma técnica que separa o iniciante do avançado no mundo dos servidores: usar o rsync para mover arquivos diretamente entre dois servidores, sem precisar baixar tudo no seu computador e depois subir de novo. Rápido, seguro e muito usado por quem administra sites e sistemas. Bora com calma, passo a passo!

O que é o rsync e por que usar?

O rsync ("remote sync") é uma ferramenta de linha de comando que copia e sincroniza arquivos entre dois lugares — pode ser do seu computador para um servidor, ou até de um servidor direto para outro. A grande vantagem dele é que:

  • Transfere os dados de forma criptografada, porque viaja dentro de uma conexão SSH;
  • É inteligente: se a transferência cair no meio, ele consegue retomar de onde parou;
  • Só copia o que mudou (ótimo para atualizar backups ou sincronizar pastas grandes sem repetir trabalho).
💡 Dica da Sensei: pense no rsync como um "Ctrl+C / Ctrl+V" turbinado entre servidores — só que ele é esperto o suficiente pra não copiar de novo o que já está lá.

Antes de começar: o que você precisa

  1. Acesso via SSH aos dois servidores envolvidos (o de origem e o de destino), com usuário e senha (ou chave SSH) em mãos.
  2. Confirmar que o rsync está instalado nos dois lados — na grande maioria dos servidores Linux (incluindo os da GeHost) ele já vem pronto de fábrica.
  3. Saber o caminho das pastas de origem e destino (ex.: onde estão os arquivos do seu site, geralmente dentro de public_html).
⚠️ A disponibilidade de acesso SSH pode variar conforme o seu plano de hospedagem. Se você tentar conectar e não conseguir, fale com o nosso suporte pelo painel.gehost.com.br para confirmar se o SSH está habilitado na sua conta.

Passo 1 — Teste a conexão SSH com os dois servidores

Antes de mexer com o rsync, é bom garantir que você consegue entrar em cada servidor separadamente. No terminal (Linux/Mac) ou em um cliente como o PuTTY/WSL (Windows), teste:

  1. Conecte no servidor de origem: ssh usuario@servidor-origem
  2. Se conectou, digite exit para sair e teste o servidor de destino da mesma forma.

Se algum dos dois pedir senha e não aceitar, ou disser "connection refused", confira usuário, senha e se o SSH está mesmo liberado naquela conta antes de seguir.

Passo 2 — Entenda a estrutura básica do comando

O comando do rsync via SSH segue este formato:

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

Vamos destrinchar cada parte, com calma:

  • -a (archive): mantém permissões, datas e estrutura das pastas igualzinho;
  • -v (verbose): mostra na tela o que está sendo copiado, arquivo por arquivo;
  • -z (compress): comprime os dados durante a viagem, deixando a transferência mais rápida;
  • -e ssh: diz pro rsync usar o SSH como "caminho seguro" pra transferência;
  • A barra no final da pasta de origem (/caminho/origem/) é importante: ela copia o conteúdo da pasta, e não a pasta em si dentro do destino.

Passo 3 — Transferindo de um servidor remoto direto para outro

Se você está logado no servidor de origem via SSH e quer mandar os arquivos direto para o servidor de destino, o comando fica assim:

rsync -avz -e ssh /home/usuario/public_html/ usuario@servidor-destino:/home/usuario/public_html/

Ao rodar, o sistema vai pedir a senha (ou usar sua chave SSH, se configurada) do servidor de destino. Pronto — os arquivos passam a viajar direto de um servidor para o outro.

💡 Dica da Sensei: se a transferência é grande (muitos GBs), rode o comando dentro de uma sessão screen ou tmux. Assim, mesmo que sua internet caia ou você feche o terminal, a transferência continua rodando no servidor até terminar.

Passo 4 — Faça um "teste seco" antes de transferir de verdade

Ninguém gosta de surpresa, né? O rsync tem uma opção mágica chamada --dry-run, que simula a transferência e mostra o que seria copiado, sem mexer em nada de verdade:

rsync -avzn -e ssh /caminho/origem/ usuario@servidor-destino:/caminho/destino/

Repare no -n extra ali no meio — ele ativa o modo de simulação. Veja a listinha, confira se está tudo certo, e só depois rode o comando de verdade (sem o -n).

Passo 5 — Acompanhe o progresso (opcional, mas útil)

Para transferências grandes, adicione a flag --progress e acompanhe em tempo real quanto já foi copiado:

rsync -avz --progress -e ssh /caminho/origem/ usuario@servidor-destino:/caminho/destino/

Cuidados importantes

  • Confira sempre o caminho de destino antes de rodar — um caminho errado pode sobrescrever arquivos no lugar errado.
  • Use --dry-run sempre que for algo delicado ou uma pasta grande, principalmente se for a primeira vez rodando aquele comando.
  • Se o destino já tiver arquivos com o mesmo nome, o rsync substitui os mais antigos pelos mais novos — não faz backup automático dos que forem sobrescritos.
  • Evite transferir a pasta inteira do sistema de uma vez; prefira ser específico com o caminho (ex.: só a pasta do site).
💡 Dica da Sensei: antes de mexer com pastas importantes, é sempre uma boa ideia ter um backup à parte — se precisar, o cPanel tem uma área própria de Backup para gerar uma cópia de segurança antes de operações assim.

Deu erro? Problemas comuns

  • "Permission denied": confira usuário/senha e se aquele usuário tem permissão de escrita na pasta de destino.
  • "Connection refused": o SSH pode estar desabilitado naquele servidor/conta — fale com o suporte para confirmar.
  • "rsync: command not found": raríssimo, mas se acontecer, avise o suporte para verificarmos a instalação no servidor.

E é isso! Rsync via SSH é uma daquelas ferramentas que, uma vez que você pega o jeito, vira sua melhor amiga para mover e sincronizar arquivos com segurança. Se travar em qualquer passo ou não tiver certeza se o SSH está liberado na sua conta, é só chamar a gente pelo painel.gehost.com.br — combinado? 😊

Precisa de Ajuda?

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