ban2fail/ban2fail.sh

45 lines
715 B
Bash
Raw Normal View History

2019-11-23 15:50:13 +00:00
#!/bin/bash
#
# JDR Wed 20 Nov 2019 10:48:14 PM EST
# The purpose of this script is to be run from a minutely cron job,
# running the job several times a minute,
# making reasonably sure there is no overlap.
#
2019-11-25 14:12:19 +00:00
BAN2FAIL=/usr/local/bin/ban2fail
2019-11-23 15:50:13 +00:00
LOGFILE=/var/log/ban2fail.log
2019-11-25 14:12:19 +00:00
#LOGFILE=/dev/pts/2
PERIOD_SEC=5
2019-11-23 15:50:13 +00:00
WHEN=$(date)
echo -n "$WHEN" >>$LOGFILE
BEGIN_SEC=$(date +%s)
count=0
while true; do
(( ++count ))
NOW_SEC=$(date +%s)
2019-11-25 14:12:19 +00:00
(( MAX_SEC= 60 - PERIOD_SEC - 1 ))
2019-11-23 15:50:13 +00:00
2019-11-25 14:12:19 +00:00
(( NOW_SEC - BEGIN_SEC > MAX_SEC )) && break
2019-11-23 15:50:13 +00:00
2019-11-25 14:12:19 +00:00
$BAN2FAIL
2019-11-23 15:50:13 +00:00
echo -n " $count" >>$LOGFILE
FINISHED_SEC=$(date +%s)
2019-11-25 14:12:19 +00:00
(( SLEEP = 5 - FINISHED_SEC + NOW_SEC ))
2019-11-23 15:50:13 +00:00
(( SLEEP < 1 )) && continue
sleep $SLEEP
done
echo >>$LOGFILE
exit 0