From 0254cbf7fb80a3716b6323e14c0cb5a223a57a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teubel=20Gy=C3=B6rgy?= Date: Mon, 2 Feb 2015 16:46:18 +0100 Subject: [PATCH] Flush logs at USR1 signal --- ChangeLog | 1 + fail2ban/server/server.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index bb688ad1..e43d0b2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -62,6 +62,7 @@ ver. 0.9.2 (2014/XX/XXX) - wanna-be-released - empty or "basic" works as-is - "cymru" additionally prints (ASN, Country RIR) per banned IP (requires dnspython or dnspython3) + - Flush log at USR1 signal - Enhancements: * Enable multiport for firewallcmd-new action. Closes gh-834 diff --git a/fail2ban/server/server.py b/fail2ban/server/server.py index bb9d28c7..e929fe56 100644 --- a/fail2ban/server/server.py +++ b/fail2ban/server/server.py @@ -71,12 +71,17 @@ class Server: logSys.debug("Caught signal %d. Exiting" % signum) self.quit() + def __sigUSR1Handler(self, signum, fname): + logSys.debug("Caught signal %d. Flushing logs" % signum) + self.flushLogs() + def start(self, sock, pidfile, force = False): logSys.info("Starting Fail2ban v" + version.version) # Install signal handlers signal.signal(signal.SIGTERM, self.__sigTERMhandler) signal.signal(signal.SIGINT, self.__sigTERMhandler) + signal.signal(signal.SIGUSR1, self.__sigUSR1handler) # Ensure unhandled exceptions are logged sys.excepthook = excepthook