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
|