Informagica Fotos Fotos Audio Video Eu




sim sou anti social arkhan nemesis




Servidor para Download de Arquivos


Como baixar animes da Internet, de forma constante e sem a necessidade de estar no local físico onde se encontra o computador?



#1 - Quebra esta vai, baixa ai pra mim!

Criação de um script para efetuar os downloads, com suporte a reinicios em caso de interrupção do processo, número de tentativas e tempo entre as tentativas, visto que cada episódio de anime tem em média 150MB, não podemos arriscar ter de reiniciar um download do zero.


#2 - Sou eu ... posso entrar?

Acesso remoto para atualização da lista de links

#3 - Enviando mensagens na terra do nunca.

Enviando e-mails automáticos informando a localização da sua máquina.

#4 - Você sabe que eu sou curioso, deixe-me ver o que você esta fazendo.

Monitoramento remoto do processo.

#5 - I hate Demons!

Configurar este processo para executar em background, tipo um daemon ...

A etapa #1 pode ser executada sem a criação de um script, o comando wget do Linux aceita a obtenção dos endereços de download através de um arquivo com a lista de links, aceita a configuração do número de tentativas e do tempo entre cada tentativa e suporta reinicios, mas eu tenho que treinar a criação de scripts ... =D

Tudo feito, podemos partir para a etapa #2 onde o processo começa a crescer. Para acesso remoto via Internet, não utilize conexões telnet ou VNC, por motivos de segurança você deve utilizar o ssh ( Secure Shell ), no final deste documento você encontrará o endereço de um terminal FREE para windows e também encontrará o endereço de um tutorial ensinando a configurar um servidor ssh. Caso você utilize em sua casa o Speedy Home, como eu, você deverá configurar o seu servidor ssh para utilizar uma porta acima do 1024, pois as portas padrões são bloqueadas pela Telefônica para o Speedy Home.

Já temos um processo que baixará os arquivos, possuímos um acesso remoto para o servidor, mas como saberemos onde ele se encontra? Sabe, a Internet é muito grande e não é legal ficar batendo de porta em porta para tentar encontrar a sua máquina ... você poderia levar toda uma vida! =P dã! Para isto partiremos para a etapa #3. Eu escolhi como forma de notificação o e-mail. Para enviar e-mails você deve ter um servidor de e-mail instalado e configurado, por exemplo o postfix ... google salva ... caso você tenha dificuldades com o inglês, utilize no google a seguinte expressão: postifix site:.br , ele irá retornar apenas os sites cujo domínio seja .br ... agora, voltando ao nosso objetivo, você deve criar um script que irá executar na crontab, eu deixei meu script configurado para executar a cada 30 minutos, abaixo segue um exemplo simples de script:

#!/bin/bash

/sbin/ifconfig ppp0 | awk -F% '{ print $3 }' > Arquivo.tmp

mail -s "Notificação de IP" emaildestino@seuprovedor.com.br < Arquivo.tmp

rm -f Arquivo.tmp

Descubra como configurar a crontab aqui!

Era para ser uma tarefa pequena, agora não tenho mais tempo para ver os animes... =D brincadeira, mas vamos as considerações quase finais, esta etapa é gratificante, pois você pode ver a coisa funcionando de qualquer lugar do planeta ... como eu só vou até o escritório e volto, eu vejo só de lá! :P . Vamos a quase última etapa, #4. Quando você iniciar a shell ou programa que executa o download dos arquivos, os resultados serão apresentados no console, e este não é o nosso objetivo. Você deve iniciar o processo pipeando o mesmo para um arquivo utilizando o comando tee. Ex:

baixa.arquivos.sh | tee baixa.arquivos.tee.log

Desta forma a saída tbm irá para um arquivo, que poderá ser monitorado através do comando tail. Ex:

tail -f baixa.arquivos.tee.log

Então o que você tem a fazer? Acessar a sua máquina através da Internet utilizando um cliente com suporte ao protocolo ssh, logar, ir ao diretório do arquivo baixa.arquivos.tee.log e executar o tail -f neste arquivo. Pronto, a sua tela esta apresentando as mesmas informações do seu console local e de forma segura. :D E nein doeu!!

E por ultimo, mas não menos importante, #5. Caso você queira apenas, não é necessário, mas é legal ...

O diretório /etc/init.d possui os scripts de inicialização do linux ( no meu caso o Mandrake ), o arquivo que será editado é o rc.local, onde eu irei inserir o seguinte comando:

/arquivos/baixa.arquivos.sh | tee /arquivos/baixa.arquivos.tee.log &

Não se esqueça do and " & " no final da linha, caso contrário o seu micro ficará parado durante a inicialização.

Não querendo ser folgado, mas já sendo, peça para ele te avisar quando estiver acabando a lista, ou para ele te avisar quando um episódio está disponível para assistir, e esqueça de todo o trabalho que vc teve até agora e curta seus animes no sossego ... =D

Ronaldo Russel
ronas@rrussel.org


Terminal FREE para Windows com suporte ao protocolo SSH.

PuTTY: A Free Win32 Telnet/SSH Client

Tutorial SSH Servidor e Cliente

SSH - Secure Shell

Caso encontre algum erro no texto acima, por favor me informe para que sejam tomadas as providências ...

www.rrussel.org - colabore com o mundo livre





sim sou anti social arkhan nemesis


"Open Source. Milhoes de mentes abertas, nao podem estar enganadas!"










Site desenvolvido utilizando as ferramentas: