Copy codeThe Code is as follows :#! /Bin/bash
#2013-01-06 14:00:00 wanggy exp
# Note: ping monitor
Set-u
# Set-x
Ping_fun ()
{
D_network = 192.168.1
Echo-n "input the network (default $ d_network ):"
Read network
:$ {Network: = $ d_network}
Echo "network: $ network"
D_hostip_beg = 1
D_hostip_end = 254
Echo-n "input the hostip (default $ d_hostip_beg $ d_hostip_end ):"
Read hostip_beg hostip_end
:$ {Hostip_beg: = $ d_hostip_beg}
:$ {Hostip_end: = $ d_hostip_end}
Echo "hostip_beg: $ hostip_beg"
Echo "hostip_end: $ hostip_end"
Count = 3
For (hostip = $ hostip_beg; hostip <= $ hostip_end; hostip ++); do
Host = $ network. $ hostip
Echo "Start ping detection $ host"
Ping-c $ count $ host &>/dev/null
If [$? = 0]; then
Echo "$ host is up"
Else
Sleep 3
Ping-c $ count $ host &>/dev/null
If [$? = 0]; then
Echo "$ host is up"
Else
Echo "$ host is down"
Fi
Fi
Done
# Echo "completed"
Exit 0
}
Main ()
{
Echo "---- start executing the ping program ----"
Ping_fun
}
Main
Exit 0