Busca:

01/02/2008

Hevanderson Silva

Ping com Esteróides, pequena atualização

Esta tarde fiz um pequeno melhoramento naquele script que criei para pingar os servidores da minha empresa, agora o usuário pode determinar tolerância para o script, assim o alarme soa de acordo com uma porcentagem de perda determinada pelo usuário, e a quanidade de if’s também foi reduzida.

#!/bin/bash
clear
#Script para teste de internet
 
#inicializando tolerância
if [ $3 -le 0 ]
then
	tlr=0 # tlr -> tolerância
else
	tlr=$3
 
fi
 
check() ##FUNCAO Q FAZ OS TESTES DE PING
{
ping -c $1 $2 > pingtemp.txt 2> temperro.txt # o temperro.txt recebe tudo q vai para saida de erro
nome=$2
#send=`mutt -s "INNOVUS MONITORAMENTO DE INTERNET" hevandersons@gmail.com`
if [ -s temperro.txt ] #verifica se o arquivo é maior que zero, ou seja, se houve erro
then
        echo "|> ERRO DE CONEXÃO, EXPERIMENTE:"
        echo "|> CHECAR SE O ENDEREÇO ESTÁ CORRETO"
        echo "|> CHECAR OS CABOS DE REDE"
 
        sleep 3
else
        #Não houve erros
        sleep 1
        ppack=`grep received pingtemp.txt | cut -f6 -d " " | cut -f1 -d%`
        if [ $ppack -eq 0 ]
        then
                msg="Nenhuma perda de pacote, conexão com $nome perfeita"
        elif [ $ppack -gt $tlr ]
        then
		msg="ALERTA GRAVE: perda de pacotes acima do normal"
		ring2 #ring de emergencia
		#send()
	elif [ $ppack -eq 100 ]
        then
                msg="ALERTA GRAVE: PERDA TOTAL DE PACOTES, VERIFICAR CONEXÃO DE REDE"
		ring2 #ring de emergencia
		send()
        fi
 
fi
}
 
log() #GRAVA OS LOGS NAS PASTAS
{
echo "TESTE AS -> `date +%T`" >> `date +%d_%m_%Y.log`
cat pingtemp.txt >> `date +%d_%m_%Y.log`
echo >> `date +%d_%m_%Y.log`
}
 
send() #MANDA E-MAIS
{
echo $msg | mutt -s "INNOVUS MONITORAMENTO EM $nome" hevandersons@gmail.com -c  hev@mundohev.com
}
 
ring() #alertas de lentidão
{
beep -f 523.2 48 -l 10 -r 3 && beep -f 493.9 48 -r 4
}
 
ring2() #alertas de lentidão
{
beep -f 277.2 -l 500  -r 16
}
 
if [ -d $2 ]
then
        cd $2		
        check $1 $2
        log
else
        mkdir $2
        cd $2 
        check $1 $2
        log
fi

[Comentar este artigo] - [Mais artigos deste autor]

Por hev em 01/02/2008 - 10:45     (Permalink)

   

Developed by Mário Meyer ©, 2005