Mostrando postagens com marcador turn off immediately after last byte arrive. Mostrar todas as postagens
Mostrando postagens com marcador turn off immediately after last byte arrive. Mostrar todas as postagens

sexta-feira, 6 de abril de 2012

Desligando o micro ao terminar o download

   O script que apresento é uma tarefa automática que desliga o computador imediatamente após o último byte do seu download chegar. Deixo claro que só serve se for usado através do gerenciador de downloads do firefox como na figura abaixo:

   A demonstração será feita com o download "LACUNA COIL - Enjoy The Silence.flv" que aparece no topo da lista. Adapte para situações que você for baixar algo que não queira ficar esperando.

   É necessário subtituir as variáveis parte e inteiro pelo nome do arquivo que está baixando. Recomendo ir no diretório que o gerenciador baixa e com o mouse copie o nome do arquivo e cole como no exemplo do script abaixo.

   Como o gerenciador cria dois arquivos (nome.extensão e nome.extensão.part), a grande sacada é testar se nome.extensão é diferente de zero byte. Somente ao terminar nome.extensão.part o tamanho é transferido para nome.extensão deixando de ser um arquivo vazio.

   O comando until testa se nome.extensão deixou de ser um arquivo vazio. Enquanto isso não sai desta condição, é exibido o tamanho do arquivo a cada 2 segundos através do comando sleep. O comando awk que pega um campo específico (no caso o tamanho do arquivo) é usando para a variável parte.

   Terminado o loop until existe outro test que verifica se o arquivo deixou de ter zero byte e o shutdown entra em ação. Por esta razão, o script tem que ser executado pelo root.

!/bin/bash
# v1.0: 10/21/2006
# v1.1: 04/11/2012

parte="LACUNA COIL - Enjoy The Silence.flv.part"
inteiro="LACUNA COIL - Enjoy The Silence.flv"

until test -s "$inteiro"
  do
   status=`du "$parte" | awk '{printf "%2s\n",$1}'`
   echo Download em andamento: $status kB
   sleep 2
   continue
  done

test -s "$inteiro"
   /sbin/shutdown -h now