![]() |
Rediscagem automática
| Linux in Brazil Documentação original e de qualidade em bom português |
A Internet brasileira ainda não chegou a um ponto onde todos os usuários tem
acesso a provedores com uma taxa de usuários por linha que evite o fenômeno
das linhas ocupadas. Seja em horários de pico, ou em momentos de menor
tarifação, muitos provedores ainda obrigam o usuário a tentar repetidas
vezes até obter sucesso em sua conexão.
Quando escrevi o pppfacil,
pensava na realidade de provedores grandes e bem
estruturados, nos quais a ocorrência de linha ocupada é um fato raro. Mais
tarde, através do retorno dado pelos próprios usuários, percebi que a
rediscagem manual é um processo bastante tedioso, e portanto um bom
candidato a ser automatizado.
Esta é a origem do discador ppp-redial, uma versão simplificada dos
war-dialers de 10 anos atrás, que irá ficar discando repetidamente
para um mesmo número e tentando estabelecer conexão ppp na linha até ser
interrompido pelo usuário.
Esta é uma versão em andamento. Ela funciona em conjunto com o
pppfacil, que
você deve instalar, configurar e testar antes de usar o ppp-redial,
que funciona como um substituto insistente do ppp-up que acompanha o pacote
do pppfacil. Versões futuras do pppfacil virão acompanhadas de uma versão
mais avançada do ppp-redial, capaz de discar para números alternativos em
caso de linha ocupada. Lembre-se de que esta não é a única maneira de fazer
rediscagem com o pppd - é apenas a que eu escolhi.
A versão atual é a que segue. Ela não foi feita para usuários iniciantes,
então talvez você deva considerar esperar por uma versão empacotada junto
com o pppfacil, que virá no futuro. Se quiser se arriscar, faça o
download,
copie para o diretório /usr/bin e execute o comando chmod 755
/usr/bin/ppp-redial. Para usar, basta rodar o comando
ppp-redial (mas lembre-se: depois de instalar, configurar e
testar o pppfacil).
Caso prefira apenas ler o fonte, ou se quiser fazer sua própria versão,
fique à vontade - aqui está:
#!/bin/sh# ppp-redial; repete indefinidamente as # tentativas de conexão a um provedor # de internet pré-configurado com o # pppfacil, até ser interrompido # pelo usuário # autor: Augusto C. Campos # licença: GPL (www.gnu.org) # suporte: www.linux.trix.net
function conecta() { # esta função não recebe nenhum parâmetro, e é # responsável por chamar o pppd
/usr/sbin/pppd nodetach \ connect "/usr/sbin/chat -Vf /etc/ppp/generic.chat" \ file /etc/ppp/options }
# Loop principal # Chama a função conecta() indefinidamente # A única maneira comprovada de interrompê-la # é teclando ^C quando solicitado.
until conecta do echo -e "\n\n\nTentando novamente em 3 segundos" echo "Tecle ^C AGORA para abortar" sleep 3 if [ $? -ne 0 ]; then exit 2 fi done
tail -f /var/log/messages