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.
93 lines
1.6 KiB
93 lines
1.6 KiB
#!/bin/bash |
|
# |
|
# chkconfig: 345 92 08 |
|
# description: Fail2ban daemon |
|
# http://fail2ban.sourceforge.net/wiki/index.php/Main_Page |
|
# process name: fail2ban-server |
|
# |
|
# |
|
# Author: Tyler Owen |
|
# |
|
|
|
# Source function library. |
|
. /etc/init.d/functions |
|
|
|
# Check that the config file exists |
|
[ -f /etc/fail2ban/fail2ban.conf ] || exit 0 |
|
|
|
FAIL2BAN="/usr/bin/fail2ban-client" |
|
|
|
RETVAL=0 |
|
|
|
getpid() { |
|
pid=`ps -eo pid,comm | grep fail2ban- | awk '{ print $1 }'` |
|
} |
|
|
|
start() { |
|
echo -n $"Starting fail2ban: " |
|
getpid |
|
if [ -z "$pid" ]; then |
|
rm -rf /var/run/fail2ban/fail2ban.sock # in case of unclean shutdown |
|
$FAIL2BAN start > /dev/null |
|
RETVAL=$? |
|
fi |
|
if [ $RETVAL -eq 0 ]; then |
|
touch /var/lock/subsys/fail2ban |
|
echo_success |
|
else |
|
echo_failure |
|
fi |
|
echo |
|
return $RETVAL |
|
} |
|
|
|
stop() { |
|
echo -n $"Stopping fail2ban: " |
|
getpid |
|
RETVAL=$? |
|
if [ -n "$pid" ]; then |
|
$FAIL2BAN stop > /dev/null |
|
sleep 1 |
|
getpid |
|
if [ -z "$pid" ]; then |
|
rm -f /var/lock/subsys/fail2ban |
|
echo_success |
|
else |
|
echo_failure |
|
fi |
|
else |
|
echo_failure |
|
fi |
|
echo |
|
return $RETVAL |
|
} |
|
|
|
# See how we were called. |
|
case "$1" in |
|
start) |
|
start |
|
;; |
|
stop) |
|
stop |
|
;; |
|
status) |
|
getpid |
|
if [ -n "$pid" ]; then |
|
echo "Fail2ban (pid $pid) is running..." |
|
$FAIL2BAN status |
|
else |
|
RETVAL=1 |
|
echo "Fail2ban is stopped" |
|
fi |
|
;; |
|
restart) |
|
stop |
|
start |
|
;; |
|
*) |
|
echo $"Usage: $0 {start|stop|status|restart}" |
|
exit 1 |
|
;; |
|
esac |
|
|
|
exit $RETVAL
|
|
|