[+] Skrypt sprawdzający działanie serwerów
: 10 kwietnia 2015, 08:48
Witam,
muszę napisać skrypt który sprawdzi czy serwer odpowiada na ping a jeżeli nie odpowiada to żeby wysłał maila że coś jest nie tak.
zrobiłem to tak jak umiałem czyli
Ale coś mi nie działa, możecie mi pomóc i znaleźć błąd w moim myśleniu ?
Pozdrawiam
Foczki
muszę napisać skrypt który sprawdzi czy serwer odpowiada na ping a jeżeli nie odpowiada to żeby wysłał maila że coś jest nie tak.
zrobiłem to tak jak umiałem czyli
Kod: Zaznacz cały
#!/bin/bash
#apt-get install sendemail
#apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl
COUNT=10
HOSTS="192.168.3.99 192.168.3.104 192.168.3.2 192.168.3.11 192.168.3.10 192.168.3.151 192.168.3.12 192.168.3.13"
# email report when
EMAILSUBJ="SERVER down"
EMAILTO="a@a.com a@a.com a@a.com"
testserver="192.168.3.9"
#testtime=`date +%Y%m%d_%H%M%S`;
testtime=`date +%H%M`;
testcheck="1237"
alertpassword=""
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
# 100% failed.
#echo "Host : $myHost is down (ping failed) at $(date)" | sendmail -s "$SUBJECT" $EMAILID
EMAILBODY="Host : $myHost is down (ping failed) from $testserver at $(date)"
#sendEmail -f alert@mojaskrzynka.com -t $EMAILTO -s a.home.pl -u $EMAILSUBJ -m $EMAILBODY -o tls=no -xu alert@mojaskrzynka.com -xp $alertpassword
sendEmail -f root@a.pl -t $EMAILTO -s s.infocon.pl -u $EMAILSUBJ -m $EMAILBODY -o tls=no
fi
done
if [ $testtime = $testcheck ]; then
sendEmail -f root@192.168.3.111 -t $EMAILTO -s 192.168.3.111 -u "testmail from: $testserver" -m "just checking from: $testserver " -o tls=no
fi
Pozdrawiam
Foczki