#!/bin/sh # This script is used to run a command. If the command failed, # an email is sent to the address specified by MAILTO. # Begin of user modifiable variables MAILFROM="${USER}" MAILTO="root" # End of User modifiable variables SENDMAIL="/usr/sbin/sendmail -t -r ${MAILFROM}" MAILFILE="/tmp/mail-if-fail-output$$" LOGFILE="/tmp/mail-if-fail-log$$" # Running the specified command ${*} 1> ${LOGFILE} 2>&1 ERROR_CODE=${?} if [ ${ERROR_CODE} -ne "0" ]; then echo "From: ${MAILFROM}" > ${MAILFILE} echo "To: ${MAILTO}" >> ${MAILFILE} echo "Subject: \"${1}\" FAILED (${ERROR_CODE})" >> ${MAILFILE} echo "Content-type: text/plain" >> ${MAILFILE} echo "Output of command ${*}:" >> ${MAILFILE} echo >> ${MAILFILE} cat ${LOGFILE} >> ${MAILFILE} cat ${MAILFILE} | ${SENDMAIL} || exit 1 rm -f ${MAILFILE} fi rm -f ${LOGFILE} exit ${ERROR_CODE}