A resposta acima está incorreta em relação à sua pergunta. O FileContainer usa apenas a detecção de rotação do log de arquivo para redefinir a leitura do log no início do arquivo, em vez do procedimento padrão de continuar do último deslocamento:
class FileContainer:
...
def open(self):
self.__handler = open(self.__filename, 'rb')
...
# Compare hash and inode
if self.__hash != myHash or self.__ino != stats.st_ino:
logSys.info("Log rotation detected for %s" % self.__filename)
self.__hash = myHash
self.__ino = stats.st_ino
self.__pos = 0
# Sets the file pointer to the last position.
self.__handler.seek(self.__pos)
Não existe um código que procure arquivos rotacionados para analisar também.
fail2ban
não lê, mas o arquivo atual. O registo de rotação detectar permitefail2ban
saber que o arquivo mudou, não ler o.1
,.2.gz
, etc arquivos que podem também estar nessa pasta.