From 156123e820acb24f4396eb98995f1be447b4730f Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 20 Oct 2024 18:30:58 +0200 Subject: [PATCH] Add logrotation for /var/log/borg/borg-backup.log. --- borg-backup-nc.sh | 33 +++++++++++++++++++++++++++++++-- borg-backup.sh | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/borg-backup-nc.sh b/borg-backup-nc.sh index 6e72934..825edfe 100755 --- a/borg-backup-nc.sh +++ b/borg-backup-nc.sh @@ -305,7 +305,7 @@ fi [[ -z "${BORG_RSH}" ]] && BORG_RSH="${DEFAULT_BORG_RSH}" [[ -z "${BORG_LOG_DIR}" ]] && BORG_LOG_DIR="${DEFAULT_BORG_LOG_DIR}" -BORG_LOG_FILE="${BORG_LOG_DIR}/${backup_date}.log" +BORG_LOG_FILE="${BORG_LOG_DIR}//borg-backup.log" [[ -z "${NC_DB_BACKUP_DIR}" ]] && NC_DB_BACKUP_DIR="${DEFAULT_NC_DB_BACKUP_DIR}" @@ -690,7 +690,7 @@ echo -e "\n\n###### Server backup finished on ${endDateReadable} (${durationRead # Send Summery # if $terminal ; then - echo -e -n " Send Summary.." + echo -e -n " Send Summary.." fi datum="$(date +"%d.%m.%Y %H:%M")" @@ -726,4 +726,33 @@ else echo_ok fi +blank_line + +echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.." + +cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file} +$(dirname "${BORG_LOG_FILE}")/* { + daily + rotate 7 + missingok + compress + su root root +} +EOF +if [[ $? -gt 0 ]] ; then + echo_failed + error "$(cat "${log_file}")" +else + echo_ok +fi + +echononl "Rotate logfile '${BORG_LOG_FILE}'.." +logrotate ${LOCK_DIR}/logrotate_borg.conf > ${log_file} 2>&1 +if [[ $? -gt 0 ]] ; then + echo_failed + error "$(cat "${log_file}")" +else + echo_ok +fi + clean_up 0 diff --git a/borg-backup.sh b/borg-backup.sh index 5f8b0b8..b544feb 100755 --- a/borg-backup.sh +++ b/borg-backup.sh @@ -297,7 +297,7 @@ fi [[ -z "${DB_BACKUP_DIR}" ]] && DB_BACKUP_DIR="${DEFAULT_DB_BACKUP_DIR}" [[ -z "${BORG_LOG_DIR}" ]] && BORG_LOG_DIR="${DEFAULT_BORG_LOG_DIR}" -BORG_LOG_FILE="${BORG_LOG_DIR}/${backup_date}.log" +BORG_LOG_FILE="${BORG_LOG_DIR}/borg-backup.log" [[ -z "${DB_TYPE}" ]] && DB_TYPE="${DEFAULT_DB_TYPE}" @@ -654,10 +654,13 @@ 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.." + echo -e -n " Send Summary.." fi datum="$(date +"%d.%m.%Y %H:%M")" @@ -693,5 +696,34 @@ else echo_ok fi +blank_line + +echononl "Create temporary logorotate configuration file 'logrotate_borg.conf'.." + +cat << EOF > ${LOCK_DIR}/logrotate_borg.conf 2> ${log_file} +$(dirname "${BORG_LOG_FILE}")/* { + daily + rotate 7 + missingok + compress + su root root +} +EOF +if [[ $? -gt 0 ]] ; then + echo_failed + error "$(cat "${log_file}")" +else + echo_ok +fi + +echononl "Rotate logfile '${BORG_LOG_FILE}'.." +logrotate ${LOCK_DIR}/logrotate_borg.conf > ${log_file} 2>&1 +if [[ $? -gt 0 ]] ; then + echo_failed + error "$(cat "${log_file}")" +else + echo_ok +fi + clean_up 0