Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Show status of all fail2ban jails at once
#!/bin/bash
JAILS=`fail2ban-client status | grep "Jail list" | sed -E 's/^[^:]+:[ \t]+//' | sed 's/,//g'`
for JAIL in $JAILS
do
fail2ban-client status $JAIL
done
@artfulrobot

This comment has been minimized.

Copy link

commented Oct 19, 2014

Thanks! can't believe there isn't a fail2ban-client status --all command!

@mattgorecki

This comment has been minimized.

Copy link

commented Dec 19, 2016

Excellent! It was -e for me on Centos 6.

@xrobin

This comment has been minimized.

Copy link

commented Jan 19, 2017

Great!
On a SLES box I had to use lowercase -e as well, and escape the + signs in the regex

JAILS=`fail2ban-client status | grep "Jail list" | sed -e 's/^[^:]\+:[ \t]\+//' | sed 's/,//g'`
@caic

This comment has been minimized.

Copy link

commented Jan 31, 2017

Thank you! It works on Ubuntu 16.04.

@acosonic

This comment has been minimized.

Copy link

commented Feb 22, 2017

Thank you! Also confirming works on Ubuntu 16.04

@maravedi

This comment has been minimized.

Copy link

commented Mar 8, 2017

This is perfect 👍

@ahmadawais

This comment has been minimized.

Copy link

commented Apr 24, 2017

@shlublu

This comment has been minimized.

Copy link

commented Jul 6, 2017

It has been said already, but many thanks (Ubuntu 16.04)! :)

@kofran

This comment has been minimized.

Copy link

commented Aug 16, 2017

Thanks so much

@welrbraga

This comment has been minimized.

Copy link

commented Dec 7, 2017

Why make it easy if you can do hard? :-)

fail2ban-client status|awk -F: '/Jail list:/ { split($2,jail,",") ; for (i in jail) { gsub(/[\t ]/,"",jail[i]); system("fail2ban-client status "jail[i]); }; }'

@joergludwig

This comment has been minimized.

Copy link

commented Dec 20, 2017

Shorter version:
fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status

@Fieel

This comment has been minimized.

Copy link

commented Jan 17, 2018

Nice! Will use this script in my server, ty again <3

@VA2PE

This comment has been minimized.

Copy link

commented Feb 9, 2018

Thanks, works well on CentOS 7.

@vkostyuk

This comment has been minimized.

Copy link

commented Aug 8, 2018

Nice. Needs sudo, so sudo sh -c "fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status"

@placecodex

This comment has been minimized.

Copy link

commented Sep 2, 2018

1# sudo apt-get remove fail2ban : remove the packet
2# sudo rm -rf fail2ban : delete fail2ban folder
3# re install again

@stefan1959

This comment has been minimized.

Copy link

commented Jul 26, 2019

doesn't ipset list do this?

@kamermans

This comment has been minimized.

Copy link
Owner Author

commented Jul 28, 2019

@stefan1959 I don't know, although this post was over 5 years ago, so things have probably changed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.