piątek, 28 grudnia 2012

Sprawdzenie poprawnego działania NIC(kart sieciowych) na naszej maszynie - Skrypt Bash cz.6

Skrypt napisany, aby można było sprawdzić czy interfejsy sieciowe działają poprawnie na naszych maszynach. Jeżeli któraś z sieciówek nie pokazuje się po ifconfig a jest po wykonaniu polecenia lspci oznacza że coś się popsuło. Wtedy dostaniemy maila (w tej wersji lokalnie), ale można dopisać własny mail, o ile oczywiście mamy możliwość wysłania maila na zewnętrzny serwer.


#!/bin/bash LOG="/root/bash/log.txt"
#Liczba kart sieciowych NumNIC=`lspci | grep -i ethernet | awk '{print $2}' | wc -w`

#Adresy IP oraz numery kart sieciowych IPLog='/root/bash/iplog.txt'
IfNum='/root/bash/ifnum.txt'

#Usuniecie starego logaif [ -e $IPLog ]; then
rm $IPLog
else echo "" fi
if [ -e $IfNum ]; then
rm $IfNum
else echo "" fi
#Liczba kart sieciowych EthNum=`ifconfig | grep 'eth' | awk '{print $1}' | cut -c 4`
echo $EthNum > $IfNum


#Wyciagniecie adresu IP for i in `cat $IfNum | awk '{ print $NumNIC }'` do IP=`ifconfig eth${i} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` echo $IP >> $IPLog done

#Sprawdzenie czy interfejs jest podniesiony counter=0 for i in `cat $IPLog | awk '{ print $1 }'` do ping -q -c 1 $i > /dev/null
if [ $? = 0 ]; then
{
((counter += 1))
} else {
echo ""
} fi done
#Sprawdzamy czy wszystkie karty dzialaja
if [ $counter -lt $NumNIC ]; then echo "`date` - Serwer" $HOSTNAME "posiada:" $NumNIC "karte/karty. Dziala/ja $counter:" > $LOG cat $LOG $IPLog | mail -s "Sieciowki PROBLEM !!!" root else echo "" fi


Po błędzie powinniśmy otrzymać coś takiego w lokalnej skrzynce mailowej:



From root@debian Fri Dec 28 12:02:43 2012
Return-path:
Envelope-to: root@debian
Delivery-date: Fri, 28 Dec 2012 12:02:43 -0500
Received: from root by debian with local (Exim 4.72)
(envelope-from )
id 1TodKV-0000bi-Ce
for root@debian; Fri, 28 Dec 2012 12:02:43 -0500
Date: Fri, 28 Dec 2012 12:02:43 -0500
Message-Id:
To: root@debian
Subject: Sieciowki PROBLEM !!!
From: root

Fri Dec 28 12:02:43 EST 2012 - Serwer debian posiada: 4 karte/karty. Dziala/ja 3:
192.168.56.101
192.168.56.103
192.168.56.104



Oczywiście skrypt można wrzucić do crona i np. co 5 minut sprawdzać czy sieciówki działają. Jeżeli zdarzy się błąd otrzymamy stosowaną informację lokalnie lub na maila. W ten sposób można kontrolować kilka serwerów.






Brak komentarzy:

Prześlij komentarz