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
|