_____________________________________________________________________
724-746-5500 | blackbox.com
Page 243
-‐e 's/ /=/'`"
done
let +
done
# deleting last user
config -‐d $ROOTNODE.$LASTFIELDTEXT$TOTAL
# Modifying item total.
config -‐s "$TOTALNODE=$NEWTOTAL"
echo Done
exit 0
else
echo "error: item being deleted has an index greater than total items. Increase the total count variable."
exit 0
fi
15.1.6 Power Cycle any device when a ping request fails
The
ping-‐detect
script is designed to run specified commands when a monitored host stops responding to ping requests.
The first parameter taken by the
ping-‐detect
script is the hostname/IP address of the device to ping. Any other
parameters are then regarded as a command to run whenever the ping to the host fails.
ping-‐detect
can run any number
of commands.
Below is an example using
ping-‐detect
to power cycle an RPC (PDU) outlet whenever a specific host fails to respond to a
ping request. The
ping-‐detect
runs from
/etc/config/rc.local
to make sure that the monitoring starts whenever the
system boots.
Suppose we have a serially controlled RPC connected to port01 on a
console server
and have a router powered by outlet
3 on the RPC (and the router has an internal IP address of 192.168.22.2). The following instructions will show you how to
continuously ping the router. When the router fails to respond to a series of pings, the
console server
will send a
command to RPC outlet 3 to power cycle the router, and write the current date/time to a file:
-
Copy the
ping-‐detect
script to
/etc/config/scripts/
on the
console server
-
Open
/etc/config/rc.local
using vi
-
Add the following line to
rc.local
:
/etc/config/scripts/ping-‐detect 192.168.22.2 /bin/bash -‐c "pmpower -‐l port01 -‐o 3 cycle && date" > /tmp/output.log
&
The above command will cause the
ping-‐detect
script to continuously ping the host at 192.168.22.2 which is the router.
If the router crashes, it will no longer respond to ping requests. If this happens, the two commands
pmpower
and
date
will run. The output from these commands is sent to the file
/tmp/output.log
so that we have a record. The
ping-‐detect
is also run in the background using the
"&"
.
Remember the
rc.local
script only runs by default when the system boots. You can manually run the
rc.local
script or the
ping-‐detect
script if desired.
The
ping-‐detect
script