Como usar SCP com Progressbar (pv) — Guia para Iniciantes com Amor
Olá, querido(a) cliente da GeHost! 🌟
Hoje vamos aprender uma técnica poderosa e super útil para transferir arquivos entre seu computador e o servidor — usando o comando SCP, mas com uma barra de progresso bonita e informativa no terminal: o pv (short for "pipe viewer").
Imagine: você está enviando um site grande, um backup ou um projeto de arte. Sem saber quanto já foi enviado, é como esperar no escuro. Com pv, você vê o progresso em tempo real — como um relógio de areia mágico! 🌟
Seu novo amigo, pv, é um pequeno super-herói que entra no meio da transferência e mostra tudo o que está acontecendo: quanto já foi enviado, quanto falta, velocidade e tempo estimado.
Pronto? Vamos lá, com calma e carinho — como um bom Sensei ensina seu aluno. 🧘♂️
Passo 1: Instale o `pv` no seu computador
Antes de tudo, precisamos garantir que o pv esteja instalado. Ele não vem por padrão em todos os sistemas, mas é fácil de colocar.
Para Linux (Ubuntu/Debian):
sudo apt update
sudo apt install pv -y
Para macOS (com Homebrew):
brew install pv
Para Windows: Use o Git Bash ou o WSL — eles trazem o pv pronto.
Dica do Sensei: Se o comando
pvnão funcionar, provavelmente não está instalado. Use o comando acima para corrigir!
Passo 2: Prepare seu arquivo para enviar
Decida qual arquivo ou pasta você quer enviar. Por exemplo, um site inteiro dentro de uma pasta chamada meu-site.
Se for uma pasta, você precisa compactá-la primeiro com tar. Isso ajuda a transferir tudo de uma vez.
Exemplo:
tar -czf meu-site.tar.gz meu-site/
Isso cria um arquivo compactado chamado meu-site.tar.gz — perfeito para envio.
Passo 3: Use o SCP com `pv` para enviar o arquivo
Agora vem o momento mágico! Vamos usar o scp junto com o pv para ver o progresso em tempo real.
Abra o terminal (ou Git Bash no Windows) e digite:
pv meu-site.tar.gz | ssh [usuário@seu-servidor] 'cat > /home/[usuário]/meu-site.tar.gz'
Substitua os dados entre colchetes:
[usuário@seu-servidor]→ seu usuário da GeHost + o endereço do servidor (ex:meuusuario@server.gehost.com.br)/home/[usuário]/meu-site.tar.gz→ caminho onde você quer salvar o arquivo no servidor
Exemplo real:
pv meu-site.tar.gz | ssh usuario123@server.gehost.com.br 'cat > /home/usuario123/meu-site.tar.gz'
Pressione Enter.
Se tudo estiver certo, o terminal vai pedir sua senha do servidor (a mesma que você usa no cPanel). Digite com cuidado e pressione Enter.
Passo 4: Veja a barra de progresso em tempo real!
Quando o comando rodar, você verá algo assim:
10.2MB 0:00:05 [2.1MB/s] [======================>] 100% 0:00:05
Essa é a mágica do pv! Ele mostra:
- Quantidade transferida (10.2MB)
- Tempo decorrido (0:00:05)
- Velocidade (2.1MB/s)
- Barra de progresso (100%)
É como ter um GPS no seu arquivo — sabe exatamente onde está e quanto falta!
Passo 5: Extraia o arquivo no servidor (opcional)
Depois de enviar, você pode acessar o servidor via SSH e descompactar o arquivo:
tar -xzf meu-site.tar.gz
Pronto! Seu site ou projeto está lá, todo organizado.
Dica Final do Sensei
💡 Quer enviar uma pasta diretamente sem compactar? É possível — mas o pv só funciona com fluxo de dados. Então, use:
tar -cf - meu-site/ | pv | ssh [usuário@seu-servidor] 'tar -xf - -C /home/[usuário]/'
Isso envia a pasta diretamente, com barra de progresso. Muito elegante, não é?
Resumo Rápido (para memorizar)
- Instale o
pvno seu computador. - Compacte seu arquivo com
tar -czf. - Use:
pv arquivo.tar.gz | ssh [usuário@servidor] 'cat > caminho/no/servidor'. - Veja a barra de progresso em tempo real!
- Descompacte no servidor com
tar -xzf.
Parabéns, você agora domina uma técnica avançada com estilo e clareza! 🎉
Se tiver dúvidas, só chamar. Estou aqui com você, sempre. 💙
Com carinho,
Sensei da GeHost