Enviado em 02/07/2015 - 17:57h
Pessoal estou com problemas para executar os calculos de media, se alguem puder me dar uma ajudar.
A ideia é procurar quais IPS estao ativos na rede, executar o ping 3 vezes, se a media deste ping for > 100 ele salva esse IP
e depois ele executa mais 10 pings se a media destes 10 pings forem > 100 ele me envia um email ou sei lá.
Mas agora meu problema é as contas...
A ideia é procurar quais IPS estao ativos na rede, executar o ping 3 vezes, se a media deste ping for > 100 ele salva esse IP
e depois ele executa mais 10 pings se a media destes 10 pings forem > 100 ele me envia um email ou sei lá.
Mas agora meu problema é as contas...
#!/bin/bash
##VARIAVEIS##
rede="192.168.17.0/24"
ativo_temp="/home/marcos/teste/ativos_temp.txt"
ip_ativos="/home/marcos/teste/ip_ativos.txt"
linhas="/home/marcos/teste/linhas.txt"
#Procura os IPs ativos e adiciona em um aquivo
nmap -sP $rede > $ativo_temp
#Adiciona em um arquivos somente os IPs
egrep -o "\w{3}\.\w{2,3}\.\w{2,3}\.\w{2,3}" $ativo_temp > $ip_ativos
#Conta a qntidade de IPs
egrep -c "\w{3}\.\w{2,3}\.\w{2,3}\.\w{2,3}" $ip_ativos > $linhas
cat $ip_ativos | while read ip
do
tempo_ping="/home/marcos/teste/tempo_$ip"
ips_ping="/home/marcos/teste/ping_$ip"
echo "IP:" $ip
ping -c3 $ip > $ips_ping
egrep -o "\w{2}\.\w{1}\ " $ips_ping > $tempo_ping
linha_soma=`egrep -c "\w{2}\.\w{1}\ " $ips_ping`
soma=`paste -s -d + $tempo_ping | bc`
if [ $linha_soma != 0 ]; then
media=$(( $soma / $linha_soma ));
fi
echo "A soma eh: " $soma
echo "A media eh: " $media
done