Article Figure 1 Figure 2 Figure 3 Listing 1
Listing 2 Listing 3 Listing 4 Listing 5 Listing 6
Listing 7 may2007.tar

Listing 4 Script to manage job output


#!/bin/ksh
#########################################################################
#  Script       :  alert.ksh
#
#  Description  :  This script will notify users of job status
#
#  Options    :  
#
#  Diagnostics  :  
#
#  Author       :  Aaron Diehl
#  Date         :  12/14/1999
#
#  Modification :  4/18/2001 Restructured SEVERITY handling based on
#                            job TYPE.  Added functional job TYPE based
#                            on end user responsibility.
#
#########################################################################

################
# Get parameters
################

if (( $# != 5 )) && (( $# != 6 ))
then
    ERROR="usage: invalid number of parameters"
    RETURN_CODE=1
    print "$0:$ERROR"
    exit $RETURN_CODE
else
    NOTIFY_SCRIPT=$1
    NOTIFY_RC=$2
    SEVERITY=$3
    NOTIFY_FILE=$4
    TYPE=$5
    SUBJECT=$6
fi

####################################
# Initialize job specific parameters
####################################

. /opt/admin/scripts/unix_vars.ksh

SCRIPT=alert
LOGFILE=$UNIX_OUTPUT_DIR/"$SCRIPT".`date +%b%d`_`date +%H%M`
PAGE_MESSAGE=$NOTIFY_FILE-page
HTML_MESSAGE=$NOTIFY_FILE-htm
MAILER=mailx
ADMIN=no_replies_please@******.com

# Create notification list based on type of program
case $TYPE in

    "TEST") MAIL_LIST="adiehl@tanagerinc.com"
            PAGE_LIST="1234567890@vtext.com"
            ;;

    "MGR") MAIL_LIST="Mgr1@******.com MGR2@******.com adiehl@tanagerinc.com"
            ;;

    "SYSADM") MAIL_LIST="adiehl@tanagerinc.com sysadmin@******.com"
              PAGE_LIST="1234567890@vtext.com 9876543210@vtext.com"
            ;;

    "DBA")  MAIL_LIST="dba1@******.com adiehl@tanagerinc.com dba2@******.com"
            PAGE_LIST="1234567890@vtext.com 9876543210@vtext.com"
            ;;

    *) MAIL_LIST=""
            ;;

esac

#################
# Create log file
#################

print "####################################################" >>$LOGFILE 2>&1
print "# Starting $SCRIPT on `date`" >> $LOGFILE 2>&1
print "####################################################" >>$LOGFILE 2>&1


##########################################
# Main
##########################################

########################################################
# Send Mail or Page
########################################################
# SEVERITY 0 - Do nothing
# SEVERITY 1 - Reserved for future use
# SEVERITY 2 - Reserved for future use
# SEVERITY 3 - Send Mail and Page with Subject if UNSUCCESSFUL
# SEVERITY 4 - Send Mail with Subject if UNSUCCESSFUL
# SEVERITY 5 - Send Mail with Subject 
# SEVERITY 6 - Send HTML Mail with Subject if UNSUCCESSFUL
# SEVERITY 7 - Send HTML Mail with Subject
########################################################

case $SEVERITY in

    "0") 
         ;;

    "1") 
         ;;

    "2") 
         ;;

    "3") 
         if (( $NOTIFY_RC != 0 )) 
         then
             print "Sending mail message to $MAIL_LIST" >> $LOGFILE 2>&1
             print "Sending page message to $PAGE_LIST" >> $LOGFILE 2>&1
             print "$NOTIFY_SCRIPT failed.  Message sent to \
               $PAGE_LIST." > $PAGE_MESSAGE 2>&1
             $MAILER -r $ADMIN -s "$SUBJECT" $MAIL_LIST < $NOTIFY_FILE 
             $MAILER -r $ADMIN -s "$SUBJECT" $PAGE_LIST < $PAGE_MESSAGE 2>&1
         fi
         ;;

    "4") 
         if (( $NOTIFY_RC != 0 )) 
         then
             print "Sending mail message to $MAIL_LIST" >> $LOGFILE 2>&1
             $MAILER -r $ADMIN -s "$SUBJECT" $MAIL_LIST < $NOTIFY_FILE
         fi
         ;;

    "5") 
         print "Sending mail message to $MAIL_LIST" >> $LOGFILE 2>&1
         $MAILER -r $ADMIN -s "$SUBJECT" $MAIL_LIST < $NOTIFY_FILE
         ;;

    "6")
         if (( $NOTIFY_RC != 0 ))
         then
             print "Sending HTML mail message to $MAIL_LIST" >> $LOGFILE 2>&1
             $HTML_DIR/html_gen.ksh $NOTIFY_FILE "$NOTIFY_SCRIPT \
               Report" "$SUBJECT" > $HTML_MESSAGE 2>&1
             $MAILER -f "$ADMIN" -h $MAILHOST $MAIL_LIST < $HTML_MESSAGE
         fi
         ;;

    "7")
         print "Sending HTML mail message to $MAIL_LIST" >> $LOGFILE 2>&1
             $HTML_DIR/html_gen.ksh $NOTIFY_FILE "$NOTIFY_SCRIPT Report" \
               "$SUBJECT" > $HTML_MESSAGE 2>&1
             # $HTML_DIR/html_gen.ksh $NOTIFY_FILE "$NOTIFY_SCRIPT \
               Report" > $HTML_MESSAGE 2>&1
             # $MAILER -f "$ADMIN" -h $MAILHOST $MAIL_LIST < $HTML_MESSAGE
             $MAILER -r $ADMIN $MAIL_LIST < $HTML_MESSAGE
         ;;


    *)   print "Default Severity used from $SEVERITY" >> $LOGFILE 2>&1
         ;;
esac

######
# Exit 
######

print "####################################################" >>$LOGFILE 2>&1
print "# Ending $SCRIPT on `date`" >> $LOGFILE
print "####################################################" >>$LOGFILE 2>&1