From c7c028abfc65f760f6390842d7550d60b7392d3e Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 17 Dec 2024 00:26:57 +0100 Subject: [PATCH] Only send log messages on errors. --- borg2-backup-nc.sh | 77 ++++++++++++++++++++++------------------------ borg2-backup.sh | 77 +++++++++++++++++++++------------------------- 2 files changed, 72 insertions(+), 82 deletions(-) diff --git a/borg2-backup-nc.sh b/borg2-backup-nc.sh index 6dc70ae..c5f90dc 100755 --- a/borg2-backup-nc.sh +++ b/borg2-backup-nc.sh @@ -732,48 +732,9 @@ durationReadable=$(printf "%02d hours %02d minutes %02d seconds" $durationHour $ echo -e "\n\n###### Server backup finished on ${endDateReadable} (${durationReadable}) ######\n" >> ${BORG_LOG_FILE} - -# Send Summery -# -if $terminal ; then - echo -e -n " Send Summary.." -fi - -datum="$(date +"%d.%m.%Y %H:%M")" - -filesystem_usage="$(df -h)" - -msg_head_line="\n\n# ---\n# Server backup finished on ${endDateReadable} (${durationReadable})\n# ---\n\n" - -msg="$(cat "${BORG_LOG_FILE}")" - -datum="$(date +"%d.%m.%Y")" - -content_type='Content-Type: text/plain;\n charset="utf-8"' - -subject="Borg Backup - ${COMPANY} - ${datum}" -subject_utf8="$(echo "$subject" | iconv -t UTF8)" -subject_utf8_encoded="=?utf-8?B?$(echo $subject_utf8 | base64 --wrap=0)?=" - - -cat <> ${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 "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 "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 - blank_line + # Error Handling # declare -i error=$(grep -i -e"\[\s*ERROR" ${BORG_LOG_FILE} | wc -l) @@ -781,6 +742,41 @@ declare -i warning=$(grep -i -e"\[\s*WARN" ${BORG_LOG_FILE} | wc -l) if [ $error -gt 0 -o $warning -gt 0 ] ; then + # Send Summery + # + if $terminal ; then + echo -e -n " Send Summary.." + fi + + datum="$(date +"%d.%m.%Y %H:%M")" + + filesystem_usage="$(df -h)" + + msg_head_line="\n\n# ---\n# Server backup finished on ${endDateReadable} (${durationReadable})\n# ---\n\n" + + msg="$(cat "${BORG_LOG_FILE}")" + + datum="$(date +"%d.%m.%Y")" + + content_type='Content-Type: text/plain;\n charset="utf-8"' + + subject="Borg Backup - ${COMPANY} - ${datum}" + 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${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 + echo_failed + error "$(cat "${log_file}")" + else + echo_ok + fi + + blank_line + # Send Error Message # if $terminal ; then @@ -836,6 +832,7 @@ fi blank_line + echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.." cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file} diff --git a/borg2-backup.sh b/borg2-backup.sh index 274d105..0296a1a 100755 --- a/borg2-backup.sh +++ b/borg2-backup.sh @@ -701,51 +701,9 @@ durationReadable=$(printf "%02d hours %02d minutes %02d seconds" $durationHour $ echo -e "\n\n###### Server backup finished on ${endDateReadable} (${durationReadable}) ######\n" >> ${BORG_LOG_FILE} - blank_line -# Send Summery -# -if $terminal ; then - echo -e -n " Send Summary.." -fi - -datum="$(date +"%d.%m.%Y %H:%M")" - -filesystem_usage="$(df -h)" - -msg_head_line="\n\n# ---\n# Server backup finished on ${endDateReadable} (${durationReadable})\n# ---\n\n" - -msg="$(cat "${BORG_LOG_FILE}")" - -datum="$(date +"%d.%m.%Y")" - -content_type='Content-Type: text/plain;\n charset="utf-8"' - -subject="Borg Backup - ${COMPANY} - ${datum}" -subject_utf8="$(echo "$subject" | iconv -t UTF8)" -subject_utf8_encoded="=?utf-8?B?$(echo $subject_utf8 | base64 --wrap=0)?=" - - -cat <> ${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 "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 "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 - -blank_line - # Error Handling # declare -i error=$(grep -i -e"\[\s*ERROR" ${BORG_LOG_FILE} | wc -l) @@ -753,6 +711,41 @@ declare -i warning=$(grep -i -e"\[\s*WARN" ${BORG_LOG_FILE} | wc -l) if [ $error -gt 0 -o $warning -gt 0 ] ; then + # Send Summery + # + if $terminal ; then + echo -e -n " Send Summary.." + fi + + datum="$(date +"%d.%m.%Y %H:%M")" + + filesystem_usage="$(df -h)" + + msg_head_line="\n\n# ---\n# Server backup finished on ${endDateReadable} (${durationReadable})\n# ---\n\n" + + msg="$(cat "${BORG_LOG_FILE}")" + + datum="$(date +"%d.%m.%Y")" + + content_type='Content-Type: text/plain;\n charset="utf-8"' + + subject="Borg Backup - ${COMPANY} - ${datum}" + 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${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 + echo_failed + error "$(cat "${log_file}")" + else + echo_ok + fi + + blank_line + # Send Error Message # if $terminal ; then