我正在尝试为fail2ban监狱匹配文件名-所以我只需要使用文件名遍历-而不是正则表达式或bash脚本。
我的/var/log/apache2
目录包含以下文件:
example.com.error.log
db.example.com.error.log
app1.example.com.error.log
app2.example.com.error.log
我正在尝试创建一个glob来匹配以结尾的所有文件,.error.log
除了 db.example.error.log
-这可能吗?
我已经尝试过了,!(db)*.error.log
但这仍然匹配db.example.com.error.log
。我猜的!()
是没有字符匹配,从而允许*
从文件名的开头进行匹配。
注意:appX
添加新的日志文件时,我不需要扩展glob ,因此无法使用@()
当前已知的非db文件名列表。
(背景:我想创建一个过滤器,禁止任何人在db.example.com 以外的任何域上请求任何phpMyAdmin URL )