# ALERT CONDITION: STATUS = DOWN | |
GATEWAY=$2 | |
STATUS=$3 | |
function REPORT { | |
GWINFO DESCRIPTION "" $GATEWAY | VIEWER | |
GWINFO DESCRIPTION "" $GATEWAY | MAIL | |
echo | MAIL | |
GWINFO STAT | MAIL | |
echo | MAIL | |
GWINFO LIST | MAIL | |
GWINFO DESCRIPTION "" $GATEWAY | SMS | |
echo | SMS | |
GWINFO STAT MLines | SMS | |
} | |
function DOWNVPN { | |
for d in /var/register/system/net/interfaces/*/; | |
do if [[ $(cat "$d"Gateway) == "$GATEWAY" ]]; then | |
$(/root/kerbynet.cgi/scripts/net_updown IF,$(basename $d) false); | |
fi; | |
done ; | |
} | |
function UPVPN { | |
for d in /var/register/system/net/interfaces/*/; | |
do if [[ $(cat "$d"Gateway) == "$GATEWAY" ]]; then | |
$(/root/kerbynet.cgi/scripts/net_updown IF,$(basename $d) true); | |
fi; | |
done ; | |
} | |
if ! SYSTEM_STARTED ; then | |
sleep 45.23 | |
fi | |
sleep 9.13 | |
if [ "$STATUS" = DOWN ] ; then | |
if GWINFO OK '' $GATEWAY ; then | |
CANCEL | |
exit | |
fi | |
else | |
if ! GWINFO OK '' $GATEWAY ; then | |
CANCEL | |
exit | |
fi | |
fi | |
if [ -f "$STATEDIR/Faults/$GATEWAY" ] ; then | |
if [ "$STATUS" = UP ] ; then | |
rm "$STATEDIR/Faults/$GATEWAY" | |
if ! ls $STATEDIR/Faults/* 2>/dev/null >/dev/null ; then | |
RECOVERED | |
UPVPN | |
fi | |
REPORT | |
else | |
CANCEL | |
fi | |
else | |
if [ "$STATUS" = DOWN ] ; then | |
ALERT | |
mkdir -p $STATEDIR/Faults | |
touch "$STATEDIR/Faults/$GATEWAY" | |
REPORT | |
DOWNVPN | |
else | |
CANCEL | |
fi | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment