Showing posts with label ifconfig. Show all posts
Showing posts with label ifconfig. Show all posts

Thursday, March 3, 2011

Monitor log file and send email alert when error occurs

I ran into a situation where I had an error occuring periodically, and I needed an easy way to be notified whenever the error occured, so that I could make some configuration changes to my server.  This script is fairly simple and should be able to be modified to fit many needs.  It basically looks at the tail of any given log file, and searches for a specific error code, or string.  Any time this error code occurs an email alert is sent out, and then the script sleeps for a given period (as to not flood my email box).


######################################################################
#!/bin/bash


errorString='SC-001'
recipient="xxsyntax@gmail.com"
sleepTime=10
logFile='/var/log/program/log'


x=1
while [ $x -gt 0 ] 
do
   checkLog=`tail $logFile | grep $errorString`
   if [[ $checkLog == *$errorString* ]]
      then
      echo "Error found, sending an email."
      echo "$checkLog" | mail -s "Alert:  $errorString" $recipient
      sleep $(( $sleepTime * 60 ))
   fi
done

######################################################################

Friday, February 25, 2011

sort list of ip addresses

Simple bash command to sort a list of IP Addresses, sorted ascending, by each octet.
# sorts file "sloppy_ip_list" into new file "sorted_ip_list"
sort -u -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 < sloppy_ip_list > sorted_ip_list


List all ip addresses on linux box, sorting in ascending order.
ifconfig | grep inet | cut -d ':' -f 2 | cut -d ' ' -f 1 | sort -u -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4