03 Jun 2006
URLs válidas e Wget
Há alguns dias, devido a instalação de um novo cliente — o Amadoras Gostosas — na PortoFácil precisei desenferrujar meus parcos conhecimentos de Wget. O cliente tinha cerca de 300MB de arquivos em um servidor de FTP, e não tinha condições de fazer o download de tudo para depois fazer o upload novamente. E, sejamos honestos, qualquer host que obrigasse um cliente a passar por este tipo de trabalho, mereceria ser repensado.
Naturalmente, a melhor coisa a fazer seria logar-se por SSH no servidor, e usando a opção de “mirroring” do Wget baixar todo o site do cara para o disco local.
Teria sido moleza, se o login do servidor de FTP não incluísse uma inocente arroba (”@”). Como o comando wget seria algo como:
Colocar as duas arrobas no mesmo endereço invalidaria o comando, que ficaria:
A inspiração não chegava nunca, até que pelo Google cheguei a este documento: URL Format - Gnu Wget 1.10 Manual. Lendo o documento descobri que bastaria eu usar a notação hexadecimal para os caracteres especiais. Assim, o comando que resolveu o problema de meu cliente foi:
O que poderia levar dias caso eu não pudesse fazer um pequeno esforço por meu cliente (que, no fim das contas, acabou por tornar-se mais um amigo) acabou levando pouco mais de uma hora: utilizando a velocidade máxima do link de seu host anterior (e uma fração do link da PortoFácil), deixamos que os dois servidores fizessem o trabalho pesado, enquanto aproveitamos o tempo online para conversar sobre negócios, mulheres, e vida de solteiro depois dos trinta. Bem melhor do que ficar baixando e subindo arquivos, não é mesmo?
[ML]Hospedagem, Servidor, Beleza[/ML]
Textos possivelmente relacionados a este





Olá Janio. O wget está relativamente morto atualmente. Veja um dia também o curl ou o lftp, que tem uma feature de “mirror” (comando), por exemplo. Tu pode fazer mirror ssh-ftp, http-ftp, http-ssh, etc.
[Reply]
Valeu, Felipe!
Sabes que tua opinião é sempre apreciada e bem vinda!
Vou dar uma olhada no que tenho dessas ferramentas instaladas no servidor e me atualizar.
[Reply]