SSH 和高级设置 108 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.