Como usar o comando tar para compactar e transferir arquivos grandes entre servidores
Oi! Aqui é a Sensei da GeHost 🥋 Hoje vamos aprender uma ferramenta clássica do mundo Linux: o tar. Se você já precisou mover um site inteiro, um backup de banco de dados ou uma pasta cheia de arquivos entre dois servidores, sabe que copiar arquivo por arquivo é uma tortura. O tar resolve isso: ele junta tudo em um único pacote (e, se quiser, ainda comprime), deixando a transferência muito mais rápida e organizada.
Não se preocupe se você nunca usou terminal antes — vamos com calma, passo a passo.
O que é o tar, afinal?
tar significa "tape archive" (um nome que vem lá dos tempos das fitas magnéticas, mas a ferramenta continua firme e forte). Ele serve para duas coisas principais:
- Empacotar vários arquivos e pastas em um único arquivo (geralmente terminado em
.tar). - Compactar esse pacote, reduzindo o tamanho (aí ele vira
.tar.gz).
💡 Dica da Sensei: pense no tar como fazer uma "mala" com todos os seus arquivos dentro. Depois de fechada, ela fica muito mais fácil de carregar de um lugar para o outro do que levar cada peça de roupa separadamente.
Pré-requisitos
- Acesso via SSH aos dois servidores (origem e destino). Se você ainda não tem esse acesso liberado ou não sabe como conectar, fale com o nosso suporte pelo painel do cliente.
- Saber o caminho da pasta que você quer compactar (por exemplo, a pasta do seu site).
- Um pouquinho de paciência — arquivos grandes podem levar alguns minutos, e isso é normal!
Passo 1 — Compactando os arquivos no servidor de origem
Conecte-se via SSH ao servidor onde os arquivos estão hoje. Depois, rode o comando:
tar -czvf meu_backup.tar.gz /caminho/da/pasta
Vamos entender cada letrinha desse comando, porque entender é o que te deixa confiante:
- c = create (criar um novo pacote)
- z = compactar usando gzip (deixa o arquivo bem menor)
- v = verbose, mostra na tela cada arquivo sendo processado (bom para acompanhar o progresso)
- f = indica que em seguida vem o nome do arquivo final
No final, você terá um arquivo único chamado meu_backup.tar.gz com tudo dentro, já compactado.
Passo 2 — Transferindo o pacote para o outro servidor
Com o pacote pronto, é hora de transferi-lo. O jeito mais comum e seguro é usando o comando scp (que usa a mesma conexão segura do SSH):
scp meu_backup.tar.gz usuario@servidor_destino:/caminho/destino
Troque usuario, servidor_destino e /caminho/destino pelas informações reais do seu ambiente. Se preferir, também é possível usar ferramentas com interface gráfica (como clientes FTP/SFTP) para arrastar o arquivo — o resultado final é o mesmo.
💡 Dica da Sensei: transferir um único arquivo grande e compactado é muito mais rápido e confiável do que transferir milhares de arquivos pequenos separadamente — cada arquivo pequeno gera uma "conversa" extra entre os servidores, e isso soma tempo.
Passo 3 — Descompactando no servidor de destino
Agora, conectado via SSH no servidor de destino, dentro da pasta onde o pacote chegou, rode:
tar -xzvf meu_backup.tar.gz
Aqui a única letra nova é o x, de extract (extrair). Os demais parâmetros (z, v, f) têm o mesmo papel de antes. Pronto — seus arquivos estarão de volta soltos, exatamente como estavam na origem.
Resumo rápido dos comandos
- Compactar:
tar -czvf nome.tar.gz /pasta - Transferir:
scp nome.tar.gz usuario@servidor:/destino - Descompactar:
tar -xzvf nome.tar.gz
Perguntas que a gente sempre recebe
"Posso compactar só uma pasta específica, tipo só o public_html?"
Sim! Basta apontar o caminho exato dessa pasta no lugar de /caminho/da/pasta no Passo 1.
"E se der erro de permissão?"
Isso costuma acontecer quando o usuário conectado não tem acesso a alguma subpasta. Confira se você está usando o usuário correto ou peça apoio ao nosso suporte.
"Demorou muito, é normal?"
Sim, o tempo depende do tamanho dos arquivos e da velocidade da conexão entre os dois servidores. Arquivos grandes (muitos gigabytes) podem levar alguns minutos — o importante é não interromper o processo no meio.
💡 Dica da Sensei: sempre confira se o pacote chegou inteiro no destino antes de apagar os arquivos originais. Uma forma simples é comparar o tamanho do arquivo .tar.gz nos dois lados.
E é isso! Com esses três passos você já consegue mover arquivos grandes entre servidores de forma segura e profissional. Se travar em qualquer etapa, nossa equipe de suporte está por aqui para te ajudar — é só abrir um chamado pelo painel do cliente. Até a próxima aula! 🥋