Skip to content

Instantly share code, notes, and snippets.

@managementboy
Created September 25, 2013 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save managementboy/6699267 to your computer and use it in GitHub Desktop.
Save managementboy/6699267 to your computer and use it in GitHub Desktop.
#!/bin/bash
LOG=/tmp/mylog.log
SECONDS=3600
EMAIL=
managementboy@gmail.com
for i in $@; do
echo "$i-UP!" > $LOG.$i
done
while true; do
for i in $@; do
ping -c 1 $i > /dev/null
if [ $? -ne 0 ]; then
STATUS=$(cat $LOG.$i)
if [ $STATUS != "$i-DOWN!" ]; then
echo "`date`: ping failed, $i host is down!" |
mail -s "$i host is down!" $EMAIL
fi
echo "$i-DOWN!" > $LOG.$i
else
STATUS=$(cat $LOG.$i)
if [ $STATUS != "$i-UP!" ]; then
echo "`date`: ping OK, $i host is up!" |
mail -s "$i host is up!" $EMAIL
fi
echo "$i-UP!" > $LOG.$i
fi
done
sleep $SECONDS
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment