Wget: o que é, como instalar e exemplos de comandos Wget para Linux
O que é Wget?
Wget é uma ferramenta criada pelo GNU Project. Você pode usá-la para recuperar conteúdos e arquivos de vários servidores na internet. O nome vem de uma combinação de World Wide Web e a palavra get. Ela suporta downloads via FTP, SFTP, HTML e HTTPS.
Ela foi criado em linguagem C portátil e executável em qualquer sistema Unix. Também é possível implementá-lo no Mac OS X, Microsoft Windows, AmigaOS e outras plataformas populares.
Como instalar o Wget?
Para essa demonstração do comando Wget, vamos usar a versão do 16.04 do Ubuntu. Mas a mesma sintaxe funciona para qualquer outra distribuição do Linux.
Primeiramente, acesse o seu servidor através do SSH. A seguir, execute o seguinte comando para instalá-lo no seu sistema:
apt-get install wget
Quando a etapa estiver finalizada, você estará pronto para usá-la. Além disso, um conhecimento prévio sobre os comandos SSH básicos podem deixar tudo mais fácil.
Exemplos de comandos Wget
Para começar, vamos fornecer 12 exemplos de comandos que você pode utilizar para suas tarefas diárias. Tenha em mente que você também pode chamar essa função de scripts ou de cron jobs!
Usando o comando Wget para baixar arquivos únicos
Um dos exemplos de comandos mais básicos é fazer o download de um único arquivo e armazená-lo em seu diretório de trabalho atual. Por exemplo, você pode obter a versão mais recente do WordPress usando o seguinte código:
wget https://wordpress.org/latest.zip
Aqui mostra o resultado que você vai ver:
--2018-02-23 12:53:10-- https://wordpress.org/latest.zip Resolving wordpress.org (wordpress.org)... 198.143.164.252 Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9332728 (8,9M) [application/zip] Saving to: 'latest.zip' latest.zip 100%[===================>] 8,90M 6,88MB/s in 1,3s 2018-02-23 12:53:14 (6,88 MB/s) - 'latest.zip' saved [9332728/9332728]
Neste exemplo, um arquivo nomeado latest.zip será baixado no seu diretório de trabalho atual. Você também verá informações extras, como o progresso do download, a velocidade, o tamanho, a hora e a data dele.
Usando o comando Wget para fazer download de múltiplos arquivos
Podemos levar o uso do da ferramenta a um passo além e fazê-lo realizar o download de múltiplos arquivos de uma só vez. Para isso, vamos precisar criar um documento de texto e colocar as URLs do download lá. Nesse exemplo, você vai poder obter as últimas versões do WordPress, Joomla e Drupal. Entre com o seguinte código:
nano example.txt
Isso vai criar um arquivo exemplo.txt e abrirá a interface do editor. Em seguida, cole os seguintes links lá:
https://wordpress.org/latest.zip https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
Quando estiver terminado, você pode usar -i para obter todos os arquivos armazenados no seu exemplo de arquivo de texto:
wget -i example.txt
Espere até que o processo termine e você terá as instalações dos três dos mais populares sistemas de gerenciamento de conteúdo.
Usando o comando Wget para baixar arquivos com nomes diferentes
Neste exemplo, vamos salvar um arquivo usando um nome diferente com a ajuda da opção -O:
wget -O wordpress-install.zip https://wordpress.org/latest.zip
Neste caso, o recurso baixado será salvo como wordpress-install.zip em vez de seu nome original.
Usando o comando Wget para salvar arquivos em um diretório específico
Você pode utilizá-lo para colocar um arquivo em outro diretório usando a função -P:
wget -P documents/archives/ https://wordpress.org/latest.zip
O arquivo que você obtém usando essa sintaxe será implantada na pasta documents/archives/.
Usando o comando Wget para limitar a velocidade de download
Com ele, você também pode limitar a velocidade de download. Isso é útil ao recuperar arquivos grandes e o prevenirá de utilizar toda a sua banda larga. Este exemplo rá definir o limite para 500k:
wget --limit-rate=500k https://wordpress.org/latest.zip
Usando o comando Wget para configurar tentativas de repetição
Os problemas de conexão com a internet podem fazer com que seu download seja interrompido. Para solucionar esse problema, podemos aumentar as tentativas de repetição utilizando a função -tries:
wget -tries=100 https://wordpress.org/latest.zip
Usando o comando Wget para fazer download em segundo plano
Para fazer o download de arquivos extremamente grandes, você pode tirar vantagem da função -b. Ele irá baixar o seu conteúdo em segundo plano.
wget -b http://example.com/beefy-file.tar.gz
Um wget-log vai aparecer em seu diretório e pode ser usado para conferir o status do progresso de seu download. Este comando também funcionará:
tail -f wget-log
Usando o comando Wget para fazer download via FTP
Este comando também pode ser usado com FTP. Você só precisa especificar o nome de usuário e senha, como no exemplo deste wget:
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
Usando o comando Wget para continuar downloads interrompidos
Seu download pode ser interrompido caso você perca a conexão com a internet ou enfrente queda de energia. Isso é muito comum quando se trata de downloads longos de arquivos pesados. Ao invés de começar novamente, é possível continuar o download de onde ele parou usando a função -c:
wget -c https://example/very-big-file.zip
Se você prosseguir sem a função -c, ao novo arquivo será adicionado .1 no final de seu nome, já que ele já existe.
Usando o comando Wget para recuperar sites inteiros
Também é possível utilizá-lo para baixar o conteúdo inteiro de um site. Isso permitirá que você o visualize localmente sem um precisar de conexão com a internet. Aqui vai um exemplo:
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com
Vamos analisar os ingredientes deste comando Wget:
–mirror | Isso torna seu download repetitivo. |
–convert-links | Todos os links serão convertidos para o uso offline adequado.. |
–page-requisites | O seguinte código inclui todos os arquivos necessários como CSS, JS e imagens. |
–no-parent | Garante que todos os diretórios acima da hierarquia não sejam recuperados |
-P documents/websites/ | Garante que todo o conteúdo vá para o nosso diretório específico. |
-Assim que o processo terminar, você poderá abrir o site baixado localmente e encontrar todos os arquivos na pasta documentos/sites.
Usando o comando Wget para localizar links quebrados
Vamos tentar algo mais avançado. Nós podemos usar o comando Wget para localizar todos as URLs quebradas que exibam o erro 404 em um site específico. Comece executando os seguintes códigos:
wget -o wget-log -r -l 5 --spider http://example.com
-o | Reúne a saída em um arquivo para uso posterior. |
-l | Especifica o nível de repetição. |
-r | Torna o download repetido. |
–spider | Define o Wget para o modo aranha. |
Agora podemos investigar o arquivo wget-log para encontrar a lista de links quebrados. Aqui está o comando para fazê-lo:
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u
Usando o comando Wget para baixar arquivos numerados
Se você tiver arquivos ou imagens numeradas em uma determinada lista, você pode facilmente baixar todos eles usando a seguinte sintaxe:
wget http://example.com/images/{1..50}.jpg
Conclusão
Agora você pode utilizar os aprendizados para obter um ou múltiplos arquivos. Você também aprendeu alguns usos avançados, como baixar um site inteiro ou como localizar URLs quebradas. Para mais informações, você usar o manual oficial do Wget.