>>every run JOB_X SUCC 75 15:19 00:01 0 #J891
>>every run JOB_X SUCC 75 15:21 00:01 0 #J4400
>>every run JOB_X SUCC 75 15:23 00:01 0 #J16712
>>every run JOB_X SUCC 75 15:25 00:01 1 #J27860
>>every run JOB_X SUCC 75 15:27 00:01 1 #J4936
>>every run JOB_X SUCC 75 15:29 00:01 1 #J15944
>>every run JOB_X SUCC 75 15:31 00:01 1 #J27567
>>every run JOB_X SUCC 75 15:33 00:01 1 #J6735
>>every run JOB_X SUCC 75 15:35 00:02 1 #J13349
>>every run JOB_X ABEND 75 15:37 00:01 1 #J20682
>>every run JOB_X ABEND 10 15:39 00:01 1 #J25705
>>every run JOB_X ABEND 10 16:01 00:02 1 #J24643
>>every run JOB_X ABEND 10 16:03 00:02 1 #J12880
>>every run JOB_X ABEND 10 16:05 00:02 1 #J24973; &0:02
#!/bin/sh
IN=/path/to/inputfile
INTERVAL=$(tail -1 $IN | awk -F: '{print $NF}')
ACHUNK=$((20/$INTERVAL)) # or whatever
echo "Interval is $INTERVAL, looking for $ACHUNK consecutive ABENDs in $IN"; echo
awk -v AC=$ACHUNK '{
if($0!~"ABEND") {C=0}
else { C++
if (C%AC == 0) {print "Consecutive ABEND number", C, "found"; system("echo TAKE ACTION!")}
}
}' $IN
#!/bin/ksh
IN=/path/to/inputfile
INTERVAL=$(tail -1 $IN | awk -F: '{print $NF}')
if [ $INTERVAL -eq 02 ]; then
ACHUNK=$((20/$INTERVAL))
echo "Interval is $INTERVAL, looking for $ACHUNK consecutive ABENDs in $IN"; echo
awk -v AC=$ACHUNK '{
if($0!~"ABEND") {C=0}
else { C++
if (C%AC == 0) {print "Consecutive ABEND number", C, "found"; system("echo TAKE ACTION 02!")}
}
}' $IN
elif [ $INTERVAL -eq 05 ]; then
ACHUNK=$((25/$INTERVAL))
echo "Interval is $INTERVAL, looking for $ACHUNK consecutive ABENDs in $IN"; echo
awk -v AC=$ACHUNK '{
if($0!~"ABEND") {C=0}
else { C++
if (C%AC == 0) {print "Consecutive ABEND number", C, "found"; system("echo TAKE ACTION 05!")}
}
}' $IN
elif [ $INTERVAL -eq 15 ]; then
ACHUNK=$((30/$INTERVAL))
echo "Interval is $INTERVAL, looking for $ACHUNK consecutive ABENDs in $IN"; echo
awk -v AC=$ACHUNK '{
if($0!~"ABEND") {C=0}
else { C++
if (C%AC == 0) {print "Consecutive ABEND number", C, "found"; system("echo TAKE ACTION 15!")}
}
}' $IN
fi
awk: Cannot find or open file /path/to/filename.2011-05-23T02.
The source line number is 6
tail -1 | grep &0:02 inputfile
if [ "$?" -eq "0" ]; then
go back to last SUCC and count if last ABEND is a multiple of 10
fi
tail -1 | grep &0:05 inputfile
if [ "$?" -eq "0" ]; then
go back to last SUCC and count if last ABEND is a multiple of 5
fi
Something along those lines...