diff --git a/check_clientbackup.sh b/check_clientbackup.sh index 3baa29e84e0773aac2c3eff53db90a4de44aea97..6e752f0217b63a5f3b15ff23453defe91164251f 100755 --- a/check_clientbackup.sh +++ b/check_clientbackup.sh @@ -16,6 +16,7 @@ # 2022-02-09 ah v1.2 update after changes in logging # 2022-10-07 ah v1.3 unescape regex with space to prevent "grep: warning: stray \ before white space" # 2022-10-20 ah v1.4 show last backup, prune and verify +# 2023-09-01 ah v1.5 add counters for new/ changed/ deleted fileobjects (Restic only) # ============================================================================== . $(dirname $0)/jobhelper.sh @@ -142,13 +143,30 @@ else if [ $flagShowChangedFiles -ne 0 ]; then sSearch="Args:|ElapsedTime|SourceFiles|SourceFileSize|RawDeltaSize" if echo "$logfile" | grep -E "(inc|auto)" >/dev/null; then - sSearch="[ADM] |${sSearch}" + sSearch="[+-M] |${sSearch}" fi echo ">>> Changes:" grep -E "^(${sSearch})" $logfile | cut -f 2- -d ':' echo fi + if cat $logfile | grep restic >/dev/null; then + + echo ">>> Counters:" + iModFNew=$( cat $logfile | grep -c "^+ /.*[^/]$" ) + iModDNew=$( cat $logfile | grep -c "^+ /.*/$" ) + iModFChange=$( cat $logfile | grep -c "^M /.*[^/]$" ) + iModDChange=$( cat $logfile | grep -c "^M /.*/$" ) + iModFDelete=$( cat $logfile | grep -c "^- /.*[^/]$" ) + iModDDelete=$( cat $logfile | grep -c "^- /.*/$" ) + + printf "__COUNTERS__New: %10s files %10s dirs\n" $iModFNew $iModDNew + printf "__COUNTERS__Changed: %10s files %10s dirs\n" $iModFChange $iModDChange + printf "__COUNTERS__Deleted: %10s files %10s dirs\n" $iModFDelete $iModDDelete + echo "__PERFDATA__ |files-new=$iModFNew;;;0|files-mod=$iModFChange;;;0|files-del=$iModFDelete|dirs-new=$iModDNew;;;0|dirs-mod=$iModDChange;;;0|dirs-del=$iModDDelete" + echo + fi + echo ">>> Summary of database backup actions:" cat $logfile | grep '__DB__' | filterColor | cut -f 1 -d ' ' | sort -u | while read -r dbprefix do