V6rgudiagnoosiskript
From ICO wiki
Skript, mis kontrollib võrguühenduse olemasolu. - kas võrguliides on olemas - kas võrguliidesel on olemas IP, GW, DNS - kas on ühendus GW'ga - kas on ühendus nimeserveriga - kas saab midagi Eesti serverist kätte - kas saab midagi rahvusvahelistest vetest alla sikutada - võrguliidese restart - kui ühendus pole taastunud, siis logi sisse ruuterisse ja tee sellele restart (eraldi skript) - tulemus kirjuta logiraamatusse - vigade lahenemisel saada mail vea kirjeldusega ning lahendusega
#!/bin/sh viga='0' liides=`/sbin/route | grep default | awk '{print $8}'` echo 'Ruutingu tabeli järgi paistab, et vaikimisi kasutatakse liidesest' $liides ip=`/sbin/ip addr show eth0 | grep inet| awk '{print $2}' | head -c -4` echo 'Liidese' $liides 'all on IP aadressiks' $ip #GW KONTROLL gw=`/sbin/route | grep default | awk '{print $2}'` gwping=`/bin/ping -c 1 $gw | grep received | awk '{print $4}'` #echo 'gw =' $gw if [ `/bin/ping -c 1 $gw | grep received | awk '{print $4}'` == "1" ]; then echo 'Gateway' $gw 'vastab pingile' else echo '!!! Gateway' $gw 'ei vasta pingile !!!' viga='1' fi echo '' #NS KONTROLL ipd=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'` for i in $ipd; do if [ `/bin/ping -c 1 $i | grep received | awk '{print $4}'` == "1" ]; then echo 'Nimeserver' $i 'vastab pingile' else echo '!!! Nimeserver' $i 'ei vasta pingile !!!' viga='1' fi done echo '' #KODUMAISE LEHE WGET echo 'Laen alla www.neti.ee avalehte' wget -O /dev/null www.neti.ee -t 1 -T 3 -o /dev/null if [ $? != "0" ]; then echo ' !!! Sellega on probleem !!!' viga='1' else echo 'OK' fi #V2LISMAISE LEHE WGET echo 'Laen alla www.google.com avalehte' wget -O /dev/null www.google.com -t 1 -T 3 -o /dev/null if [ $? != "0" ]; then echo ' !!! Sellega on probleem !!!' viga='1' else echo 'OK' fi echo '' echo '#########################################################################' if [ $viga == "1" ]; then echo 'Võrguyhendusel on mingi probleem. Kas soovid v6rguliidest restartida? y/n' read restartida if [ $restartida == "y" ]; then echo '' echo 'Liides' $liides 'lylitatakse v2lja' echo '' ifdown $liides echo '' echo 'Liides' $liides 'k2ivitatakse uuesti' echo '' ifup $liides fi else echo 'V6rguyhendusel ei leitud vigu' fi echo '#########################################################################'