Baixar recursivamente links de um arquivo texto

Digamos que você queira/necessite baixar alguns MB/GB/TB da internet, por exemplo, para uma atualização, ou para a instalação de um novo programa usando uma conexão não muito apropriada para issso ou seja: lenta como a discada. Claro que isso vai demorar muito tempo, mais muito tempo mesmo. E pode ser que você não disponha de tempo o suficiente para ficar esperando o término da operação na frente do micro... Como muitas outras pessoas (eu por exemplo), que ainda usam este tipo de conexão você aproveita a madrugada para baixar este tipo de arquivo ou um horário qualquer em que você não está a frente do micro em que ele normalmente é utilizado para outras tarefas e a já escassa banda disponível é essencial para a realização da mesma. E além do tempo gasto temos o famigerado consumo de energia elétrica. Como exemplo inicial vou mostrar como baixar um pacote via apt-get (gerenciador de pacotes do Debian) usando um dos meus métodos. NOTA: Digite tudo numa linha só caso queira usar as dicas em uma linha de comando. Eu usei esta formatação apenas para melhorar a leitura do código. Primeiramente, o método que acho o mais correto de todos para instalar um pacote é você tentar baixar o pacote inteiro após verificar suas dependências. Claro, se todas estiverem resolvidas você poderá instala-las sem susto usando a dica a seguir: while : ; do sudo apt-get -d -y install pacote-foo && sudo halt done O parâmetro -d informa ao apt-get que ele deverá apenas baixar o pacote (armazena-lo no cache) para uma calma e posterior instalação. Note que fazemos uso de um loop infinito ( trecho while : ; do e done ) que só encerra quando o pacote for totalmente baixado, (graças ao &&), para então a maquina ser desligada ( halt ), caso não necessitarmos mais utiliza-la. Veja que podemos usar o mesmo raciocínio para baixar qualquer arquivo usando o gerenciador de downloads wget que até hoje não senti sua falta em nenhuma distribuição GNU/Linux. while : ; do wget -c http://www.site_exemplo.com/exemplo.rar && sudo halt done Ou ainda usar algum tipo de sinalização do termino do download, como por exemplo tocar uma musica com um player como o mplayer. while : ; do wget -c http://www.site_exemplo.com/exemplo.rar && mplayer musica.ogg done Me lembro de uma ocasião em que necessitei utilizar um outro gerenciador de download que "deixa arquivos .part" enquanto vai baixando o arquivo principal. Então usei algo assim: while [ -e ./*.part ] ; do echo -en " \rBaixando o arquivo..." && sleep 1s done && sudo halt E felizmente funcionou corretamente!!! Enfim, as opções são muitas, uma vez que esse mesmo raciocínio pode ser usado para outros casos em que gastaríamos muito tempo esperando o termino de um processo e/ou para economizar energia necessitaríamos desligar o sistema ao termino do mesmo. E como, neste tipo de caso, estamos impossibilitados de fazê-lo manualmente por estarmos no trabalho, escola ou talvez dormindo ou ainda nos divertindo com uma outra ocupação qualquer, este tipo de situação "adversa" torna a coisa muito difícil, senão impossível de fazê-lo de forma correta e blablablalbla Estas são umas das principais soluções que encontrei para este tipo de problema e que me são de uma utilidade enorme, por serem muito simples e portanto facilmente assimiladas pela minha memória e ainda, extremamente convenientes principalmente por poder usa-las na linha de comando em qualquer sistema GNU/Linux sem me preocupar muito com versões e aptidões de programas gerenciadores de downloads. Segue um script que aproveita estas idéias. Ele baixa recursivamente links de um arquivo texto. Boa sorte.

Por: Perfil removido


Multiplicação de Matrizes

Programa que exibe o produto de duas matrizes em que as dimensões são informadas pelo usuário.

Por: Perfil removido


Classe para gerar logs

Classe que consiste em gerar logs persistentes em arquivos de texto. O uso é simples: insertIntoLogFile('Acesso à página: ' . $_SERVER['REQUEST_URI']); ?>

Por: Perfil removido


Classe para enviar emails

Classe para envio de emails.

Por: Perfil removido


Tem g-mail não lido?

Script "expect" para se comunicar com o GMail através do openssl e ver se tem e-mail não lido. PS: Está utilizável. Mas para finalizar o script tem que usar o kill. Ainda estou tentando criar um ícone do lado do relógio pra entrar direto na caixa de entrada do GMail, com o Firefox.

Por: Perfil removido






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts