Download de arquivos grandes em conexões lentas


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 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 que vai lá pelas auturas.

Então, que tal desligarmos automaticamente nosso sistema após o termino de um download, seja para economizar energia ou por outros motivos?

Minha dica é que você pode fazer algo como segue, na linha de comando ou em um shell script para automação. Recomendo o ultimo caso (shell script), pois, deixamos a coisa/tarefa mais organizada.

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/arquivo_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 www.site_exemplo.com/arquivo_exemplo.rar &&

    mplayer musica.ogg &&

    sudo halt

    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. Então a dica é válida para estes casos.

Estas são umas das principais soluções que criei para este tipo de problema e que me são muito uteis, 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. Esperamos, sinceramente, que este texto sirva também para você.

Fonte: http://pauloriceli.blogspot.com/2010/08/download-de-arquivos-grandes-em.html/

4 Responses to Download de arquivos grandes em conexões lentas

  1. Rafael disse:

    Cara mto bom essa dica, me ajudou mto… tava kerendo baixar uns arquivos, mas minha conexao eh discada, e nao sabia como colocar tdos d uma so vez sem usar gerenciador…
    Ótimo site.
    Vlws

  2. Fabio disse:

    Cara isso me ajudou mto, coloquei uns dvds pra baixar pelo terminal e a velocidade em que eles baixaram foi imensa, nem acreditei a taxa d download bateu nos 2mb/s.
    valeu.

    OBS: Como faço para baixar um site inteiro, caso eu queira testar os layouts dele, etc.

  3. Em http://www.guiadohardware.net/dicas/baixando-sites-wget.html
    você encontra uma ótima dica do Morimoto de como fazer para ripar sites inteiros com o wget.

Conte-nos o que achou...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: