Bom dia pessoal,
Estou trabalhando em um script para administração e monitoramento de alguns firewalls e proxys que tenho aqui no trabalho(umas 100 máquinas +/-), para auxiliar o pessoal do noc daqui.
Tenho uma função para um ping simples que fiz, que exibe uma barra de progresso enquanto o comando é executado, meio fake mas funciona e gostaria de fazer algo parecido para outros comandos, como traceroute, iperf, etc, porém não tenho tido êxito de usar a mesma função para outros comandos, alguém teria uma idéia diferente?
Segue a função do ping abaixo,
function _ping(){
>$ping_log
pings="10"
percent="0"
ping -c $pings $1 1>&2 > $ping_log&
( while true;
do
ps ax | grep -i "ping -c $pings $1" | grep -v grep >/dev/null
if [ "$?" -eq "0" ]; then
percent=$(( percent + $pings ))
if [ "$percent" -le "100" ];then
echo $percent
fi
sleep 1
else
echo "100"
sleep 1
break;
fi
done ) | dialog --clear --no-cancel --stdout --backtitle 'Teste' \
--title "Aguarde..." \
--gauge "Pingando $1" \
8 40 0
if [ "$(cat $ping_log)" == "" ]; then
_displayMessage "FALHA" "Impossivel pingar o endereco $1\n\n Verifique as configurações de DNS da maquina ou se o link de internet e rede estao ativos"
else
_displayText "Resultado do ping para $1" "$ping_log"
fi
}
Obrigado!
Maicon Radeschi