Files
baremetal-basics/f2bt
T

41 lines
839 B
Bash
Raw Normal View History

2026-07-23 01:06:33 +00:00
#!/usr/bin/env bash
##FAIL2BAN LOG ANALYZER
set -euo pipefail
clear
##CONFIG
log="${1:-/var/log/fail2ban.log}"
##CHECK
if [[ ! -f "$log" ]]; then
echo "Error: File not found: $log" >&2
exit 1
fi
##RUN
echo "==========================="
2026-07-23 01:14:55 +00:00
echo "FAIL2BAN DAILY TOTALS "
2026-07-23 01:06:33 +00:00
echo "==========================="
2026-07-23 01:14:55 +00:00
echo "DATE LINES "
echo "---------------------------"
2026-07-23 01:18:13 +00:00
sudo awk '
2026-07-23 01:06:33 +00:00
{
##FIELDS: $1 = date (YYYY-MM-DD), $2 = time
if ($1 ~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/) {
counts[$1]++
}
}
END {
n = asorti(counts, sorted, "@ind_str_asc")
for (i = 1; i <= n; i++) {
printf "%s %6d\n", sorted[i], counts[sorted[i]]
}
}
' "$log" | column -t -R 2
echo "---------------------------"
tot=$(wc -l < "$log" | tr -d ' ')
2026-07-23 01:14:55 +00:00
printf "TOTAL: %s LINES\n" "$tot"
2026-07-23 01:06:33 +00:00
echo "==========================="