shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Script para verificar conexÃo do ppp0


From: cesar kallas
Subject: Re: [shell-script] Script para verificar conexÃo do ppp0
Date: Wed, 17 Sep 2003 16:35:19 -0300

#!/bin/sh
#
#               Script que mantem a conexao adsl ativa no gnu/linux
#       Cesar Henrique Kallas
#       http://www.opensrc.co.nr        address@hidden
# versao 1d     02/09/2003 (testado no slackware)
#
# Changelog
#       02/09/2003 - 15:19 : TESTANDO PING (resposta se conectado)
#               - Devido mais uma vez a necessidade de se manter online, e a 
falta
#               de "educacao" da telefonica com seus usuarios, adcionei a linha 
que
#               testa se a conexao ta tendo ping (resposta)
#
#       30/08/2003 - 17:00h : AUTENTICANDO NO PROVEDOR (terra)
#               - Devido a necesidade de autenticacao, foi implantado mais uma
#               parte para o msm (toscamente)


# Qual interface voce deseja monitorar ? 
interface="ppp0"        # ppp0, ppp1, eth0, eth1, etc

# Verificar conexao a cada intervalo de tempo igual a:
tempo="1"               # acima de 0
unidade="m"             # s=segundos, m=minutos, h=horas, d=dias

# Nome do arquivo de log, e o caminho de gravacao do msm
log="AllwaysUpLog"              # cuidado com nomes invalidos
caminho="/var/log/adsl"         # sem a / (barra no final)

if [ "$UID" == 0 ]; then
 
# Usuario e senha para logar-se no servidor (apenas para o terra da speedy)
# se vc optar ou tiver com problemas no usuario, comente essas 3 linhas abaixo
# e use a opcao LOGIN="address@hidden" , inclusive para a opcao senha,
# comente as 3 primeiras linhas e use a opcao SENHA="suasenha"
LOGIN=$(cat /etc/ppp/pap-secrets | cut -f1 | cut -c2-50)
    tam=$((` expr length $LOGIN`-1))
    LOGIN=$(echo $LOGIN | cut -c1-$tam)
# LOGIN=""

SENHA=$(cat /etc/ppp/pap-secrets | cut -f3 | cut -c2-50)
    tam=$((` expr length $SENHA`-1))
    SENHA=$(echo $SENHA | cut -c1-$tam)
# SENHA=""

    #verifica se existe o caminho para gravacao do log
    if ! [ -e $caminho ]; then
        mkdir $caminho
    fi
    
    # verifica se existe um arquivo de log anterior
    if [ -e $caminho/$log ]; then
        mv $caminho/$log $caminho/$log"_"$(date +%d%m20%y_%k:%M:%S)
    fi

    while ! [ ]
    do
        if ! route | grep $interface > /dev/null  ; then
        { # comandos que devem ser executados caso haja erro de conexao
            echo -e "Possivel erro na interface ($interface) : $(date)" >> 
$caminho/$log
            adsl-stop &> /dev/null ; echo "Adsl-Stop"
            sleep 5s
            adsl-start &> /dev/null ; echo "Adsl-Start"
            sleep 5s
            lynx -dump -accept_all_cookies 
"http://200.171.222.97:86/speedywebapp/servlet/logon?opcion=internet&CPURL=&username=$LOGIN&password=$SENHA";
 &> /dev/null ; echo "Logando"
        }
        #else
        # comandos que devem ser executados se tudo tiver OK
            # echo "Conexao na interface ($interface) OK : $(date)" >> 
$caminho/$log
            # echo "conexao $interface ok"
        fi
        
        # verifica se ta tendo ping de resposta
        if ! ping -c 10 www.uol.com.br &> /dev/null ; then
            adsl-stop ; echo "Ping off ?!"
        fi
        
        sleep $tempo$unidade
        
    done

else
    echo "Execute apenas com uid=0(root)"
fi




======
"Desconfiai do mais trivial, na aparência de singelo. E examinai, sobretudo, o 
que parece habitual. Suplicamos expressamente: não aceiteis o que é de hábito 
como comum. Pois em tempo de desordem sangrenta, contentamento descontente nada 
deve parecer impossível. Nada é impossivel de se mudar."  Bertrold Bretch

cesar henrique kallas - uin 9973780
[ address@hidden ] slackware linux
engenharia de computacao - puc campinas
http://www.opensrc.co.nr - pagina pessoal



reply via email to

[Prev in Thread] Current Thread [Next in Thread]