function: 1:ping IP address of all in-network machine, if not, send alarm
2: Detect the service port of all machines in the network, if not, send alarm
#!/bin/bash
# #读取IP列表, test a port for IP # #
While Read ip1
Do
Ping-c 2 $ip 1 >>/dev/null 2>&1
If [$?-eq 0]; Then
echo "************************"
echo "Ping $ip 1, OK"
Else
echo "************************"
echo "Ping $ip 1,error,please Check"
Fi
Ipnum= ' echo $ip 1 |awk-f '. ' ' {Print $4} '
ECHO-E---------------------$ipnum
When #ip =238, prot 1521 8089#
When #ip =239, port 8081 80#
Case $ipnum in
238)
For Port1 in 1521 8089
Do
Nc-vv-w1-z $ip 1 $port 1 >>/dev/null 2>&1
If [$?-eq 0];then
echo "$ip 1 $port 1 OK" >>/dev/null 2>&1
Else
echo "$ip 1 $port 1 err,please Check" | Mail-s "Dg-server" [email protected]
Fi
Done
;;
239)
For Port2 in 80 8081
Do
Nc-vv-w1-z $ip 1 $port 2 >>/dev/null 2>&1
If [$?-eq 0];then
echo "$ip 1 $port 2 OK" >>/dev/null
Else
echo "************************"
echo "$ip 1 $port 2 err,please Check"
Fi
Done
;;
Esac
Done<iplist
echo "192.168.16.238\n192.168.16.239" >iplist
Periodically monitor all server ports, if suspended, send alert messages