Archive for October, 2006

Pinglog

The ability to ping a host can be such a useful tool in establishing network connectivity. Being able log such activity is quite valuable also. Below is a short bash script that can assist you in those endeavors.

#!/bin/bash
logname=`date "+%Y-%m-%d-%H-%M-%S"`-$1.log
if [ "$1" = "-help" ]; then
   echo "Usage: pinglog.sh [HOST]"
   echo "Usage: pinglog.sh [OPTION] [LOGFILE] [HOST]"
   echo "Log pings of the HOST."
   echo ""
   echo "[HOST]   | shortname of the station to be logged."
   echo "[OPTION] | one option available. –missed-pings"
   echo ""
   echo "-missed-pings     shows the date and time a ping was"
   echo "                  missed from a generated log file"
   echo ""
   echo "Usage examples: pinglog.sh wiretop"
   echo "                pinglog.sh -missed-pings"
   echo "                   2007-04-10-02-12-22-wiretop.log wiretop"
   echo ""
   echo "pinglog.sh will log the ping information into the same"
   echo "directory"
   echo "that it was started from in a file called 'ping.log'"
elif [ "$1" = "-missed-pings" ]; then
   cat $2 | grep -v $3
elif [ -z "$1" ]; then
   echo "pinglog.sh: too few arguments"
   echo "Try 'pinglog.sh -help' for more information."
else
   while true; do
      echo "$(date) $(ping -c 1 $1 | grep time=)" >> $logname
      sleep 1
   done
fi

2 Comments »