mirror of https://github.com/fail2ban/fail2ban
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.6 KiB
65 lines
1.6 KiB
#!/usr/bin/bash -e |
|
# |
|
# fail2ban This init.d script is used to start fail2ban. |
|
# (C) by Hanno Wagner <wagner@rince.de>, License is GPL |
|
|
|
#set -x |
|
|
|
. /lib/svc/share/smf_include.sh |
|
|
|
set -e |
|
|
|
|
|
F2B_CONF="/etc/fail2ban/fail2ban.conf" |
|
if [ -n "$2" ] && [ -f "$F2B_CONF" ]; then |
|
F2B_CONF="$2" |
|
fi |
|
|
|
ENV="/usr/bin/env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin:/opt/sfw/bin:/usr/sfw/bin" |
|
|
|
# get socket/pid conf and check dir exists |
|
# sock and pid default dirs are currently the same |
|
# mkdir if it doesn't exist |
|
SOCK_FILE=$(sed "/^\#/d" "$F2B_CONF" | grep "socket" | tail -1 | cut -d "=" -f2-) |
|
SOCK_DIR=$(dirname $SOCK_FILE) |
|
if [ -n "$SOCK_DIR" ]; then |
|
if [ ! -d "$SOCK_DIR" ]; then |
|
mkdir "$SOCK_DIR" || exit 1 |
|
fi |
|
fi |
|
|
|
case $1 in |
|
start) |
|
# remove any lingering sockets |
|
# don't quote the var for the -e test |
|
if [ -n "$SOCK_FILE" ]; then |
|
if [ -e $SOCK_FILE ]; then |
|
rm -f $SOCK_FILE || exit 1 |
|
fi |
|
fi |
|
[ -f /etc/fail2ban.conf ] || touch /etc/fail2ban.conf |
|
echo "Starting fail2ban-server with $F2B_CONF" |
|
eval $ENV /usr/local/bin/fail2ban-client start & |
|
;; |
|
stop) |
|
echo "Stopping fail2ban-server with $F2B_CONF" |
|
eval $ENV /usr/local/bin/fail2ban-client stop & |
|
;; |
|
reload | refresh ) |
|
echo "Reloading fail2ban-server with $F2B_CONF" |
|
eval $ENV /usr/local/bin/fail2ban-client reload & |
|
;; |
|
restart | force-reload) |
|
echo "Forcing reload of fail2ban-server with $F2B_CONF" |
|
eval $ENV /usr/local/bin/fail2ban-client stop & |
|
sleep 2 |
|
eval $ENV /usr/local/bin/fail2ban-client start & |
|
;; |
|
status) |
|
/usr/local/bin/fail2ban-client status & |
|
;; |
|
*) |
|
echo "Usage: /lib/svc/method/svc-fail2ban start|stop|status|refresh|restart|reload|force-reload" >&2 |
|
exit 2 |
|
;; |
|
esac
|
|
|