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}
|
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
|
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
|
if [[ $? -gt 0 ]] ; then
|
||||||
@ -774,6 +774,68 @@ fi
|
|||||||
|
|
||||||
blank_line
|
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'.."
|
echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.."
|
||||||
|
|
||||||
cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file}
|
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}
|
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
|
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
|
if [[ $? -gt 0 ]] ; then
|
||||||
@ -746,6 +746,71 @@ fi
|
|||||||
|
|
||||||
blank_line
|
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'.."
|
echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.."
|
||||||
|
|
||||||
cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file}
|
cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file}
|
||||||
|
@ -205,6 +205,15 @@
|
|||||||
#ADMIN_EMAIL="root"
|
#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
|
# FROM_ADDRESS
|
||||||
#
|
#
|
||||||
# Defaults to:
|
# Defaults to:
|
||||||
|
@ -242,6 +242,15 @@
|
|||||||
#ADMIN_EMAIL="root"
|
#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
|
# FROM_ADDRESS
|
||||||
#
|
#
|
||||||
# Defaults to:
|
# Defaults to:
|
||||||
|
Loading…
Reference in New Issue
Block a user