scan_bad_signature.sh: add period of the finds to the statistics.

This commit is contained in:
2026-09-11 13:54:42 +02:00
parent 94a73f6450
commit 62417ef150
+48
View File
@@ -786,6 +786,8 @@ fi
declare -i total_checked=0
declare -i total_bad=0
declare -i total_failed_users=0
overall_date_min=""
overall_date_max=""
for _user in "${selected_user_arr[@]}" ; do
@@ -825,6 +827,30 @@ for _user in "${selected_user_arr[@]}" ; do
_user_bad=$(tail -n +2 "$user_tsv" | wc -l)
(( total_bad += _user_bad ))
# - Zeitraum (min/max Datum) der Dateien mit 'Bad Signature' fuer
# - diesen Account aus der mtime-Spalte des TSV ermitteln, und
# - gleich in die Gesamt-Min/Max mit einfliessen lassen.
# -
if [[ $_user_bad -gt 0 ]] ; then
_dates_sorted="$(tail -n +2 "$user_tsv" | cut -f4 | cut -c1-10 | sort)"
_user_date_min="$(echo "$_dates_sorted" | head -n1)"
_user_date_max="$(echo "$_dates_sorted" | tail -n1)"
if [[ "$_user_date_min" = "$_user_date_max" ]] ; then
_user_zeitraum="$_user_date_min"
else
_user_zeitraum="${_user_date_min} bis ${_user_date_max}"
fi
if [[ -z "$overall_date_min" || "$_user_date_min" < "$overall_date_min" ]] ; then
overall_date_min="$_user_date_min"
fi
if [[ -z "$overall_date_max" || "$_user_date_max" > "$overall_date_max" ]] ; then
overall_date_max="$_user_date_max"
fi
else
_user_zeitraum="-"
fi
# - Scan lief durch: bei Funden gelb hervorheben statt schlichtem 'ok'
# -
if [[ $_user_bad -gt 0 ]] ; then
@@ -862,8 +888,10 @@ for _user in "${selected_user_arr[@]}" ; do
echo -e " Uebersprungene Dateien...................: ${_skipped}"
if [[ $_user_bad -gt 0 ]] ; then
echo -e " Dateien mit 'Bad Signature'..............: \033[1;33m${_user_bad} (${_pct} %)\033[m"
echo -e " Zeitraum betroffener Dateien.............: \033[1;33m${_user_zeitraum}\033[m"
else
echo -e " Dateien mit 'Bad Signature'..............: ${_user_bad} (${_pct} %)"
echo -e " Zeitraum betroffener Dateien.............: ${_user_zeitraum}"
fi
# - Leerzeile HINTER der Account-Statistik, damit sie nicht am
# - 'Scanning account ..' des naechsten Accounts klebt.
@@ -876,12 +904,26 @@ for _user in "${selected_user_arr[@]}" ; do
echo " Gescannte Dateien........................: ${_checked}"
echo " Uebersprungene Dateien...................: ${_skipped}"
echo " Dateien mit 'Bad Signature'..............: ${_user_bad} (${_pct} %)"
echo " Zeitraum betroffener Dateien.............: ${_user_zeitraum}"
} >> "$report_file"
done
total_pct="$(calc_percent "$total_bad" "$total_checked")"
# - Zeitraum (min/max Datum) ueber alle Dateien mit 'Bad Signature'
# - hinweg, aus den bereits pro Account ermittelten Min/Max-Werten.
# -
if [[ -n "$overall_date_min" ]] ; then
if [[ "$overall_date_min" = "$overall_date_max" ]] ; then
overall_zeitraum="$overall_date_min"
else
overall_zeitraum="${overall_date_min} bis ${overall_date_max}"
fi
else
overall_zeitraum="-"
fi
# - Gesamtergebnis ans Ende des Reportfiles - gleiches Looking wie
# - die Ergebnis-Bloecke pro Account
# -
@@ -896,6 +938,7 @@ total_pct="$(calc_percent "$total_bad" "$total_checked")"
[[ $total_failed_users -gt 0 ]] && echo "Accounts mit Scan-Fehler...................: ${total_failed_users}"
echo "Gescannte Dateien insgesamt.................: ${total_checked}"
echo "Dateien mit 'Bad Signature' insgesamt.......: ${total_bad} (${total_pct} %)"
echo "Zeitraum betroffener Dateien insgesamt......: ${overall_zeitraum}"
} >> "$report_file"
blank_line
@@ -907,6 +950,11 @@ if $terminal ; then
[[ $total_failed_users -gt 0 ]] && echo -e " Accounts mit Scan-Fehler...................: \033[1;31m${total_failed_users}\033[m"
echo -e " Gescannte Dateien insgesamt.................: ${total_checked}"
echo -e " Dateien mit 'Bad Signature' insgesamt.......: \033[1;31m${total_bad} (${total_pct} %)\033[m"
if [[ $total_bad -gt 0 ]] ; then
echo -e " Zeitraum betroffener Dateien insgesamt......: \033[1;31m${overall_zeitraum}\033[m"
else
echo -e " Zeitraum betroffener Dateien insgesamt......: ${overall_zeitraum}"
fi
echo -e " Report-Datei................................: reports/$(basename "${report_file}")"
echo ""
fi