Server User Manual

config -g $ROOTNODE.$LASTFIELDTEXT$((NUMBER+COUNTER)) \
| while read LINE
do
config -s \
"`echo "$LINE" | sed -e "s/$LASTFIELDTEXT$((NUMBER+ \
COUNTER))/$LASTFIELDTEXT$((NUMBER+COUNTER-1))/" \
-e 's/ /=/'`"
done
let COUNTER++
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 &
_____________________________________________________________________
724-746-5500 | blackbox.com Page 241