通常运行命令会像这样:
$ fail2ban-regex /var/log/ningx/access.log \
/etc/fail2ban/filter.d/nginx-noscript.conf -v
但是,我有多个文件想用正则表达式测试来解析。它们的名称如access.log
、access.log.1
、等。access.log.10.gz
access.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 ...