#! /bin/bash WDIR=/usr/local/shellscripts/lm-livecheck for i in `ls $WDIR/etc/`; do ## extract IP and fqdn from file name IP=`echo $i|cut -f1 -d"_"`; NAME=`echo $i|cut -f2 -d"_"`; ## ping host to see if it's up PING=$(/bin/ping -c2 -q -w2 $IP|grep transmitted|cut -f3 -d","|cut -f1 -d","|cut -f 1 -d"%") if [ $PING -eq " 0" ]; then ## Host is up echo "Server $IP ($NAME): ping OK"; ## now checking the ports for j in `cat $WDIR/etc/$i`; do RET=`/usr/bin/nmap -r --host_timeout 2500 --initial_rtt_timeout 2000 -p $j $IP|grep $j/tcp|cut -f1 -d"/"`; if [ -z $RET ]; then echo "$IP: Port $j is down"; ## Alarm: Port down ## else echo "$IP: Port $j is up"; fi done else echo "Server $IP ($NAME): no response"; fi done