help with script to send email and if subject line match is found

Help with script that will check log, then find a match is found, add that as the subject line.

  1. The script will always run as a deamon.. and scan the event.log file
  2. when a new 101 line is added to the event.log file, have the script check position 5,6 and 7 which is the job name, which is LOK
  3. if position 5,6 and 7 is in a the hspm_table.txt then add the information on the right CGI CLAIMS in the email subject line of the email.

Event.log

 
101 WDC5337A 0AAAAAAAAAAAH54R NC_TLF2_SLEEP10 WDC5337A 1294422 5 NC_TLF2_SLEEP10 maestrot sleeep\0405400 -32768 1 2010070712140000 0 +++ 6453 1 1277734500 0 0 0 127 0AAAAAAAAAAAH54R 6453 TEST_JSA 2010062814150000 v.4 NONE NONE 4 NONE NONE NONE 0 0 0 0 0 NONE
101 LILTST505 0AAAAAAAAAAAHXH2 CU_MLOK_IAM_INTAKE_PROCESS_LILVSGT4W LILVSGT4W 558803 5 CU_MLOK_IAM_INTAKE_PROCESS_LILVSGT4W silver\REED_APP e:\FMLA\CIGNA_CGI_Intake_Processor.BAT 0015 10 2010070712300000 0 +++ 7748 1 1278505800 0 60 0 1 0AAAAAAAAAAAHXH2 5973 MLOKIAM1 2010070612110000 v.4 NONE NONE 4 NONE NONE NONE 0 0 0 0 0 NONE

hspm_table.txt

 
LF2 PROD CNTL ADMIN SERV
LKB PROD SVC DB2 DBA
LKG PROD SVC DB2 DBA
LKJ AMP CGI AQUISITION
LOK CGI CLAIMS

Here is my script that only sends the email, but does not check the hspm_table.txt to find a match.

 
#!/bin/sh -x 
DATE=`date` 
TWSHOME=/usr/lib/maestro/ 
EVENTLOG=event.log 
MAILING="email@fromtable" 
tail -f -n 1 $TWSHOME/$EVENTLOG | while read line ; do echo "$line" | grep '^101' ; if [ $? -eq 0 ]; then echo "$line" | awk '{print "Mail sent by checkevent.sh script""\n""\n""A Job has abended.""\n""Please check information below:""\n""Workstation:",$2,"\n""Job Stream:",$3,"\n""Job Name:",$4"\n""Job ID:",$6,"\n""Job Status:",$7,"\n""Scheduled Time:",$26,"\n""Actual Start:",$13"\n""\n""Thanks""\n""TWS team."}' | mail -s "Email sent from `hostname` at $DATE" $MAILING ; fi ; done

How is the script to know which events have already been reported?
The back slashes in the data could also be problematic.

good point... this is why im here.. in hopes of finding a better way of scripting it..

here is an example of the email sent.

 
Mail sent by checkevent.sh script
A Job has abended.
Please check information below:
Workstation: LILTST505
Job Stream: 0AAAAAAAAAAAHXH3
Job Name: CU_MLOK_IAM_INTAKE_PROCESS_LILVSGT4W
Job ID: 558869
Job Status: 5
Scheduled Time: 2010070712110000
Actual Start: 2010070715450000
Thanks
TWS team.