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