Hi,
I recently wanted to log internet outages (ISP) so I wrote this script. The script it self has no license – so call it a free to modify, publish and use. I did set the script to run every five minutes via cron.
The code:
#!/bin/bash
current_date_time="`date "+%Y-%m-%d %H:%M:%S"`";
curl --head http://www.google.com > /dev/null 2>&1
OUT=$?
last_msg_start=""
if [ -e /var/log/ISP_Log ]
then
last_msg_start="`sed -n '$,$ p' /var/log/ISP_Log | cut -c1-16`"
fi
if [ $OUT -eq 0 ]
then
if [ "$last_msg_start" != "CONNECTION:[YES]" ]
then
echo "CONNECTION:[YES] $current_date_time" >> /var/log/ISP_Log
fi
else
if [ "$last_msg_start" == "CONNECTION:[YES]" ]
then
echo "CONNECTION:[N/A] $current_date_time" >> /var/log/ISP_Log
fi
fi
sed '1,500 d' /var/log/ISP_Log
The log file contents:
CONNECTION:[YES] 2017-08-09 19:03:29
CONNECTION:[N/A] 2017-08-11 21:10:01
CONNECTION:[YES] 2017-08-11 21:15:02
CONNECTION:[N/A] 2017-08-12 20:40:01
CONNECTION:[YES] 2017-08-13 10:45:01