通过使用 zcat 进行管道运行fail2ban-regex?

通过使用 zcat 进行管道运行fail2ban-regex?

通常运行命令会像这样:

$ fail2ban-regex /var/log/ningx/access.log \
    /etc/fail2ban/filter.d/nginx-noscript.conf -v

但是,我有多个文件想用正则表达式测试来解析。它们的名称如access.logaccess.log.1、等。access.log.10.gzaccess.log.111.gz

所以我尝试使用 zcat 并像这样管道它:

$ fail2ban-regex | zcat /var/log/ningx/access.log* \
   /etc/fail2ban/filter.d/nginx-noscript.conf -v`

但它不起作用。我怎样才能以正确的方式管道它?

答案1

你正在管道失败2禁止进入zcat。

管道从左向右延伸。您需要将 zcat 的输出通过管道传输到fail2ban 的输入

zcat ... | fail2ban-regex ...

相关内容