Send Error e-mails if errors or warnings were found on local log file.
This commit is contained in:
parent
42bd0bc709
commit
595ce80230
@ -758,11 +758,11 @@ subject_utf8_encoded="=?utf-8?B?$(echo $subject_utf8 | base64 --wrap=0)?="
|
||||
|
||||
cat <<EOF >> ${BORG_LOG_FILE}
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n\${filesystem_usage}\n\${msg_head_line}\n\${msg}\n" | /usr/sbin/sendmail -F "BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL}
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n\${filesystem_usage}\n\${msg_head_line}\n\${msg}\n" | /usr/sbin/sendmail -F "Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL}
|
||||
EOF
|
||||
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${filesystem_usage}\n${msg_head_line}\n${msg}\n" | /usr/sbin/sendmail -F "BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${filesystem_usage}\n${msg_head_line}\n${msg}\n" | /usr/sbin/sendmail -F "Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
@ -774,6 +774,68 @@ fi
|
||||
|
||||
blank_line
|
||||
|
||||
# Error Handling
|
||||
#
|
||||
declare -i error=$(grep -i -e"\[\s*ERROR" ${BORG_LOG_FILE} | wc -l)
|
||||
declare -i warning=$(grep -i -e"\[\s*WARN" ${BORG_LOG_FILE} | wc -l)
|
||||
|
||||
if [ $error -gt 0 -o $warning -gt 0 ] ; then
|
||||
|
||||
# Send Error Message
|
||||
#
|
||||
if $terminal ; then
|
||||
echo -e -n " Send Error Message to ${ADMIN_EMAIL}.."
|
||||
fi
|
||||
|
||||
host_name="$(hostname -f)"
|
||||
|
||||
err_msg="$(grep -A 2 -i -e"\[\s*ERROR" ${BORG_LOG_FILE})\n"
|
||||
warn_msg="$(grep -A 2 -i -e"\[\s*WARN" ${BORG_LOG_FILE})\n"
|
||||
|
||||
msg_top="Borg Backup Error ${COMPANY} vom ${datum}.\nBorg Backup on '${host_name}' beendet mit:"
|
||||
msg_body_01="\t${error} Error(s)\n\t${warning} Warning(s)\n"
|
||||
msg_body_02="\n\n--- ERROR(S) ---\n${err_msg}\n\n--- WARNING(S) ...\n${warn_msg}"
|
||||
|
||||
msg="${msg_top}\n${msg_body_01}\n${msg_body_02}"
|
||||
|
||||
subject="Borg Backup Errors at ${host_name} -- ${datum}"
|
||||
#subject="Borg Backup Errors at ${host_name}"
|
||||
subject_utf8="$(echo "${subject}" | iconv -t UTF8)"
|
||||
subject_utf8_encoded="=?utf-8?B?$(echo ${subject_utf8} | base64 --wrap=0)?="
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${msg}\n" | /usr/sbin/sendmail -F "Errors Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
echo_failed
|
||||
error "$(cat "${log_file}")"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
|
||||
if [[ -n "${ADMIN_EXTRA_EMAIL}" ]] ; then
|
||||
|
||||
echo -e "To:${ADMIN_EXTRA_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${msg}\n" | /usr/sbin/sendmail -F "Errors Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EXTRA_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
# Send Error Message
|
||||
#
|
||||
if $terminal ; then
|
||||
echo -e -n " Send Error Message to ${ADMIN_EMAIL}.."
|
||||
fi
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
echo_failed
|
||||
error "$(cat "${log_file}")"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
fi
|
||||
|
||||
blank_line
|
||||
|
||||
fi
|
||||
|
||||
blank_line
|
||||
|
||||
echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.."
|
||||
|
||||
cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file}
|
||||
|
@ -730,11 +730,11 @@ subject_utf8_encoded="=?utf-8?B?$(echo $subject_utf8 | base64 --wrap=0)?="
|
||||
|
||||
cat <<EOF >> ${BORG_LOG_FILE}
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n\${filesystem_usage}\n\${msg_head_line}\n\${msg}\n" | /usr/sbin/sendmail -F "BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL}
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n\${filesystem_usage}\n\${msg_head_line}\n\${msg}\n" | /usr/sbin/sendmail -F "Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL}
|
||||
EOF
|
||||
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${filesystem_usage}\n${msg_head_line}\n${msg}\n" | /usr/sbin/sendmail -F "BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${filesystem_usage}\n${msg_head_line}\n${msg}\n" | /usr/sbin/sendmail -F "Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
@ -746,6 +746,71 @@ fi
|
||||
|
||||
blank_line
|
||||
|
||||
# Error Handling
|
||||
#
|
||||
declare -i error=$(grep -i -e"\[\s*ERROR" ${BORG_LOG_FILE} | wc -l)
|
||||
declare -i warning=$(grep -i -e"\[\s*WARN" ${BORG_LOG_FILE} | wc -l)
|
||||
|
||||
if [ $error -gt 0 -o $warning -gt 0 ] ; then
|
||||
|
||||
# Send Error Message
|
||||
#
|
||||
if $terminal ; then
|
||||
echo -e -n " Send Error Message to ${ADMIN_EMAIL}.."
|
||||
fi
|
||||
|
||||
#ADMIN_EMAIL="ckubu@oopen.de"
|
||||
|
||||
host_name="$(hostname -f)"
|
||||
|
||||
err_msg="$(grep -A 2 -i -e"\[\s*ERROR" ${BORG_LOG_FILE})\n"
|
||||
warn_msg="$(grep -A 2 -i -e"\[\s*WARN" ${BORG_LOG_FILE})\n"
|
||||
|
||||
msg_top="Borg Backup Error ${COMPANY} vom ${datum}.\nBorg Backup on '${host_name}' beendet mit:"
|
||||
msg_body_01="\t${error} Error(s)\n\t${warning} Warning(s)\n"
|
||||
msg_body_02="\n\n--- ERROR(S) ---\n${err_msg}\n\n--- WARNING(S) ...\n${warn_msg}"
|
||||
|
||||
msg="${msg_top}\n${msg_body_01}\n${msg_body_02}"
|
||||
|
||||
subject="Borg Backup Errors at ${host_name} -- ${datum}"
|
||||
#subject="Borg Backup Errors at ${host_name}"
|
||||
subject_utf8="$(echo "${subject}" | iconv -t UTF8)"
|
||||
subject_utf8_encoded="=?utf-8?B?$(echo ${subject_utf8} | base64 --wrap=0)?="
|
||||
|
||||
echo -e "To:${ADMIN_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${msg}\n" | /usr/sbin/sendmail -F "Errors Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
echo_failed
|
||||
error "$(cat "${log_file}")"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
|
||||
if [[ -n "${ADMIN_EXTRA_EMAIL}" ]] ; then
|
||||
|
||||
echo -e "To:${ADMIN_EXTRA_EMAIL}\n${content_type}\nSubject:${subject_utf8_encoded}\n${msg}\n" | /usr/sbin/sendmail -F "Errors Borg BACKUP ${COMPANY}" -f ${FROM_ADDRESS} ${ADMIN_EXTRA_EMAIL} > ${log_file} 2>&1
|
||||
|
||||
# Send Error Message
|
||||
#
|
||||
if $terminal ; then
|
||||
echo -e -n " Send Error Message to ${ADMIN_EMAIL}.."
|
||||
fi
|
||||
|
||||
if [[ $? -gt 0 ]] ; then
|
||||
echo_failed
|
||||
error "$(cat "${log_file}")"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
fi
|
||||
|
||||
blank_line
|
||||
|
||||
fi
|
||||
|
||||
blank_line
|
||||
|
||||
|
||||
echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.."
|
||||
|
||||
cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file}
|
||||
|
@ -205,6 +205,15 @@
|
||||
#ADMIN_EMAIL="root"
|
||||
|
||||
|
||||
# ADMIN_EXTRA_EMAIL
|
||||
#
|
||||
# Send Informations about the backup process also to this e-mail address
|
||||
#
|
||||
# Defaults to empty string (NOT SET)
|
||||
#
|
||||
#ADMIN_EXTRA_EMAIL=""
|
||||
|
||||
|
||||
# FROM_ADDRESS
|
||||
#
|
||||
# Defaults to:
|
||||
|
@ -242,6 +242,15 @@
|
||||
#ADMIN_EMAIL="root"
|
||||
|
||||
|
||||
# ADMIN_EXTRA_EMAIL
|
||||
#
|
||||
# Send Informations about the backup process also to this e-mail address
|
||||
#
|
||||
# Defaults to empty string (NOT SET)
|
||||
#
|
||||
#ADMIN_EXTRA_EMAIL=""
|
||||
|
||||
|
||||
# FROM_ADDRESS
|
||||
#
|
||||
# Defaults to:
|
||||
|
Loading…
Reference in New Issue
Block a user