1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # Set mode: e - exit on any error, x - write all commands to log
- #set -e
- # Address of admin
- __TMP__=${ADM_MAIL:=admin@sdsys.ru}
- # Create temp file for logging
- __TMP__=${LOG_FILE:=$(mktemp)}
- # Error mail subject
- __TMP__=${ERR_SUBJ="Error on "$1}
- exec 2>&1
- exec &> >(tee -a "$LOG_FILE")
- function __cleanup()
- {
- if [[ $LOG_FILE == /tmp/tmp.* ]]; then
- rm -f $LOG_FILE
- fi
- }
- function __error_report()
- {
- err_h="======================== Trap Handler =========================================="
- MYSELF="$0" # equals to my script name
- LASTLINE="$1" # argument 1: last line of error occurence
- LASTERR="$2" # argument 2: error code of last command
- echo "${MYSELF}: line ${LASTLINE}: exit status of last command: ${LASTERR}"
- # do additional processing: send email
- cat $LOG_FILE|mail -s "$ERR_SUBJ" \
- -S smtp=${SMTP_SERVER} \
- -S smtp-use-starttls \
- -S smtp-auth=login \
- -S ssl-verify=ignore \
- -S smtp-auth-user=${JENKINS_MAIL_USER} \
- -S smtp-auth-password=$(cat /run/secrets/jenkins-mail-pass) \
- -S nss-config-dir=/etc/pki/nssdb \
- -S from=${JENKINS_MAIL_USER} \
- -a ${LOG_FILE} \
- ${RECIPIENT_MAIL_BOX}
- }
- trap '__cleanup' SIGHUP SIGINT SIGTERM EXIT
- trap '__error_report ${LINENO} ${?}' ERR
- err_h="======================== Trap Handler =========================================="
|