From d384ba654cf91b5f378a96814567f8fc34a5e98d Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch> Date: Wed, 9 Feb 2022 14:23:10 +0100 Subject: [PATCH] check: update after changes in logging --- check_clientbackup.sh | 55 +++++++++++++++++++++++--------------- plugins/transfer/restic.sh | 5 ++-- transfer.sh | 2 +- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/check_clientbackup.sh b/check_clientbackup.sh index 1343cf3..b16571e 100755 --- a/check_clientbackup.sh +++ b/check_clientbackup.sh @@ -13,6 +13,7 @@ # # 2016-12-09 ah,ds v1.0 # 2022-01-19 ah v1.1 fixes with shellcheck +# 2022-02-09 ah v1.2 update after changes in logging # ============================================================================== . $(dirname $0)/jobhelper.sh @@ -39,7 +40,7 @@ logdir=$(dirname "$0")/logs sShort="Client Backup -" -ls "$logdir"/*.log >/dev/null +ls "$logdir"/*.log* >/dev/null if [ $? -ne 0 ]; then sShort="$sShort logs were not found. Backup was never executed" iError=1 @@ -48,13 +49,23 @@ else # iMaxAgeInHours=`j_getLastBackupAge` # echo verify last backup: $iMaxAgeInHours h ago - for logfile in $(ls -1t "$logdir"/inc*.log "$logdir"/full*.log "$logdir"/auto*.log 2>/dev/null | head -1) - do + + # for logfile in $(ls -1t "$logdir"/inc*.log "$logdir"/full*.log "$logdir"/auto*.log 2>/dev/null | head -1) + # do + backuplogfile=$(ls -1t "$logdir"/inc*.log "$logdir"/full*.log "$logdir"/auto*.log 2>/dev/null | head -1) + transferlogfile=$(ls -1t "$logdir"/transfer*.log | head -1) + + logfile="${backuplogfile} ${transferlogfile}" + lastlogfile="$(ls -1t $logfile | head -1)" + echo LAST BACKUP: "$logfile" - grep "final.*rc=" "$logfile" + + echo + echo ">>> RETURNCODES" + grep "final.*rc=" $logfile echo - # --- SENSU Statusline + # --- Monitoring Statusline if [ -f "$(dirname $0)"/transfer.sh ]; then sShort="$sShort WITH" else @@ -63,8 +74,8 @@ else sShort="$sShort transfer -" # --- count returncodes - iOK=$(grep -c "final.*rc=0$" "$logfile" ) - iError=$(grep "final.*rc=" "$logfile" | grep -cv "rc=0$") + iOK=$(grep "final.*rc=0$" $logfile | wc -l ) + iError=$(grep "final.*rc=" $logfile | grep -v "rc=0$" | wc -l ) echo "OK: $iOK ... Errors: $iError" # --- rc=0 must be here @@ -74,10 +85,12 @@ else fi # --- check age - iAge=$( date +%s )-$( date +%s -r "$logfile" ) + echo + echo ">>> AGE" + iAge=$( date +%s )-$( date +%s -r "$lastlogfile" ) iAge2=$iAge/60/60 echo "age: $iAge sec ... $iAge2 h" - sShort="$sShort last backup log: $(basename "$logfile") ($iAge2 h ago) " + sShort="$sShort last backup log: $(basename "$lastlogfile") ($iAge2 h ago) " if [ $iAge2 -gt $iMaxAgeInHours ]; then echo "Error: the last backup is older than $iMaxAgeInHours hours" sShort="$sShort ERROR: backup is older than $iMaxAgeInHours hours " @@ -88,22 +101,22 @@ else fi # --- changes (incremental backups only) and backup status infos - echo - sSearch="Args:|ElapsedTime|SourceFiles|SourceFileSize|RawDeltaSize" - echo "$logfile" | grep -F "inc" >/dev/null - if [ $? -eq 0 ]; then - sSearch="[ADM]\ |${sSearch}" - fi - echo --- changes: - grep -E "^(${sSearch})" "$logfile" + # echo + # sSearch="Args:|ElapsedTime|SourceFiles|SourceFileSize|RawDeltaSize" + # echo "$logfile" | grep -F "inc" >/dev/null + # if [ $? -eq 0 ]; then + # sSearch="[ADM]\ |${sSearch}" + # fi + # echo --- changes: + # grep -E "^(${sSearch})" "$logfile" echo - echo --- summary of backed up directories: - grep "DIR\ " "$logfile" - + echo ">>> Summary of backed up directories:" + cat $logfile | grep "DIR\ " | sort -u + sShort="$sShort - OK: $iOK ... Errors: $iError" - done + # done fi diff --git a/plugins/transfer/restic.sh b/plugins/transfer/restic.sh index 20f9552..3496150 100644 --- a/plugins/transfer/restic.sh +++ b/plugins/transfer/restic.sh @@ -7,8 +7,9 @@ # # -------------------------------------------------------------------------------- # ah - Axel Hahn <axel.hahn@iml.unibe.ch> -# 2021-05-19 ah v0.0 INIT ... WIP -# 2022-01-06 ah v0.0 added support for Repository with REST and authentication +# 2021-05-19 ah v0.1 INIT ... WIP +# 2022-01-06 ah v0.2 added support for Repository with REST and authentication +# 2022-02-09 ah v0.3 show difff to last backup; update pruning # ================================================================================ # -------------------------------------------------------------------------------- diff --git a/transfer.sh b/transfer.sh index 51d666e..463c28d 100755 --- a/transfer.sh +++ b/transfer.sh @@ -97,7 +97,7 @@ METHOD= - transferlog="${DIR_LOGS}/transfer-`date +%Y%m%d`.log" + transferlog="${DIR_LOGS}/transfer-$(date +%Y%m%d-%H%M%S).log" lockfile="${DIR_LOGS}/transfer.running" rcfile=/tmp/transfer-rc.$$.tmp -- GitLab