[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