warum das rad neu erfinden?...einfach die: apache-badbots.conf in fail2ban ändern/hinzufuegen...fertig. solange es fuer alle gelten soll.
solche listen sind aber meistens veraltet oder werden nur sehr duerftig gepflegt. da ist es besser man filtert aus den logs das was beim eigenen server wirklich auftaucht und aktualisiert danach fail2ban.
mit fail2ban haut das irgendwie nicht hin - auch bei manchen Namen habe ich keinen plan wie die regex aussehen muss ... z.b. bei
Baiduspider/2.0
MJ12bot/v1.4.3
habe eine custom log dazu angelegt, die logged auch soweit ganz prächtig
LogFormat "%a %{User-agent}i" ipagent
CustomLog /var/log/apache2/useragent.log ipagent
baduseragent