Pinglog
Tuesday, 24 October 2006
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