Skip to content
Snippets Groups Projects

check_clintstatus: update counter new/ changed/ deleted fileobjects without...

Merged Hahn Axel (hahn) requested to merge status-faster-count-modifications into master
1 file
+ 26
10
Compare changes
  • Side-by-side
  • Inline
+ 26
10
@@ -18,6 +18,7 @@
@@ -18,6 +18,7 @@
# 2022-10-20 ah v1.4 show last backup, prune and verify
# 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)
# 2023-09-01 ah v1.5 add counters for new/ changed/ deleted fileobjects (Restic only)
# 2023-09-04 ah v1.6 fix perfdata dirs-del=
# 2023-09-04 ah v1.6 fix perfdata dirs-del=
 
# 2024-08-28 ah v1.7 update counter new/ changed/ deleted fileobjects without restic snapshot comparison
# ==============================================================================
# ==============================================================================
. $(dirname $0)/includes/jobhelper.sh
. $(dirname $0)/includes/jobhelper.sh
@@ -154,16 +155,31 @@ else
@@ -154,16 +155,31 @@ else
if cat $logfile | grep restic >/dev/null; then
if cat $logfile | grep restic >/dev/null; then
echo ">>> Counters:"
echo ">>> Counters:"
iModFNew=$( cat $logfile | grep -c "^+ /.*[^/]$" )
iModDNew=$( cat $logfile | grep -c "^+ /.*/$" )
# This is faster andd doesn't need comparison of snapshots in output
iModFChange=$( cat $logfile | grep -c "^M /.*[^/]$" )
# and works with initial backups too
iModDChange=$( cat $logfile | grep -c "^M /.*/$" )
iModFNew=$( cat $logfile | grep "^Files:.*unmodified" | awk '{sum+=$2;} END {print sum;}' )
iModFDelete=$( cat $logfile | grep -c "^- /.*[^/]$" )
iModFChange=$( cat $logfile | grep "^Files:.*unmodified" | awk '{sum+=$4;} END {print sum;}' )
iModDDelete=$( cat $logfile | grep -c "^- /.*/$" )
iModFNone=$( cat $logfile | grep "^Files:.*unmodified" | awk '{sum+=$6;} END {print sum;}' )
iModFDelete=$( cat $logfile | grep "^Files:.*removed" | awk '{sum+=$4;} END {print sum;}' )
printf "__COUNTERS__New: %10s files %10s dirs\n" $iModFNew $iModDNew
printf "__COUNTERS__Changed: %10s files %10s dirs\n" $iModFChange $iModDChange
iModDNew=$( cat $logfile | grep "^Dirs:.*unmodified" | awk '{sum+=$2;} END {print sum;}' )
printf "__COUNTERS__Deleted: %10s files %10s dirs\n" $iModFDelete $iModDDelete
iModDChange=$( cat $logfile | grep "^Dirs:.*unmodified" | awk '{sum+=$4;} END {print sum;}' )
 
iModDNone=$( cat $logfile | grep "^Dirs:.*unmodified" | awk '{sum+=$6;} END {print sum;}' )
 
iModDDelete=$( cat $logfile | grep "^Dirs:.*removed" | awk '{sum+=$4;} END {print sum;}' )
 
 
# old way:
 
# 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
 
printf "__COUNTERS__Unchanged: %10s files %10s dirs\n" $iModFNone $iModDNone
echo "__PERFDATA__ |files-new=$iModFNew;;;0 files-mod=$iModFChange;;;0 files-del=$iModFDelete dirs-new=$iModDNew;;;0 dirs-mod=$iModDChange;;;0 dirs-del=$iModDDelete;;;0"
echo "__PERFDATA__ |files-new=$iModFNew;;;0 files-mod=$iModFChange;;;0 files-del=$iModFDelete dirs-new=$iModDNew;;;0 dirs-mod=$iModDChange;;;0 dirs-del=$iModDDelete;;;0"
echo
echo
fi
fi
Loading