- Bash: tem algo errado
+ Responder ao Tópico
-
Bash: tem algo errado
Ae pessoas, to tentando fz um programinha em bash pra diagnóstico.
Ele vai ficar no crond rodando a cada x tempo e se detectar algo fora do comum, vai me avisar.
To na fase de levantar qualé a rota padrão e tentar pingar.
Porém, quando eu dou um route:
200.171.57.0 * 255.255.255.192 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 200-171-57-1.ds 0.0.0.0 UG 0 0 0 eth1
Depois eu uso: route | grep default | awk {'print $2'}
E retorna: 200-171-57-1.ds
Na verdd o "problema" tá no route, que não está mostrando o nome inteiro do host. Alguma dica ?
-
Bash: tem algo errado
use route -n q ele da soh o ip
-
perfecto!
hum, perfecto!
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth1
O que esta flag quer dizer ? Por um acaso é a default ?
#!/bin/bash
rota=`route -n | grep UG | awk {'print $2'}`
pingagw=`ping -c5 $rota | grep '100% packet loss'`
dns=`ps aux | grep named | grep chroot`
smtp=`ps aux | grep sendmail | grep accepting`
pop=`ps aux | grep pop | grep login`
proxy=`ps aux | grep squid | grep ncsa`
web=`ps aux | grep httpd | grep 54`
ftp=`ps aux | grep proftpd | grep accepting`
mysql=`ps aux | grep mysql | grep safe`
rede1=`ifconfig eth0 | grep inet`
rede2=`ifconfig eth1 | grep inet`
if [ "$dns" = "" ]; then
echo "DNS - Problema"
else
echo "DNS - OK"
fi
if [ "$smtp" = "" ]; then
echo "Email SMTP - Problema"
else
echo "Email SMTP - OK"
fi
if [ "$pop" = "" ]; then
echo "Email POP - Problema"
else
echo "Email POP - OK"
fi
if [ "$web" = "" ]; then
echo "Web - Problema"
else
echo "Web - OK"
fi
if [ "$proxy" = "" ]; then
echo "Proxy - Problema"
else
echo "Proxy - OK"
fi
if [ "$ftp" = "" ]; then
echo "FTP - Problema"
else
echo "FTP - OK"
fi
if [ "$mysql" = "" ]; then
echo "MySQL - Problema"
else
echo "MySQL - OK"
fi
if [ "$rede1" = "" ]; then
echo "Placa de Rede 1 - Problema"
else
echo "Placa de Rede 1 - OK"
fi
if [ "$rede2" = "" ]; then
echo "Placa de Rede 2 - Problema"
else
echo "Placa de Rede 2 - OK"
fi
if [ "$pingagw" = "" ]; then
echo "Gateway - OK"
else
echo "Gateway - Problema"
fi
-
Bash: tem algo errado
ahuehuaeheau jah fiz um script igualzinho desses, mas aposentei e usei nagios, nao da pra confiar em ping :P
o gw default eh o 0.0.0.0 sempre
-
ntop
ah, então, eu uso vários, mas tenho um meu que loga tudo em mysql e me avisa no celular.. me apeguei nele, rs..
já testei alguns como ntop, mas não posso abandonar meu filho.
quero que o cliente rode este script antes de me ligar, ae já vai saber onde que tá o problema e o que fazer..
há um tempo atrás eu mandei 1 passo-a-passo pra eles acharem os problemas, fazendo teste de ping, nmap, ps, telnet, etc.. Mas nego não faz, é mais fácil ligar ne?
vamos ver agora rodando um script que já vai falar quale o erro, se eles tem 1 pouco de pena de mim! toda vez que tiro ferias eu preciso sair feito doido atras 1 cyber pra saber q no final das contas tem 1 cabo solto :/
voltando ao 0.0.0.0, blz, disto eu sabia, rs..
mas como tem vários 0.0.0.0. no retorno do comando, eu tentei filtrar usando grep e awk mas tava trabalhoso d+
-
Bash: tem algo errado
o default sempre eh o ultimo da lista :P e tem a UG
eh q num to no linux pra testa, mas se nao me engano tem um comando dele que mostra somente o default