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
Postado em Linux, Programação, shell script |
