Estou tentando corresponder nomes de arquivos para uma prisão fail2ban - portanto, preciso usar apenas globbing de nome de arquivo - não regexes ou scripts do bash.
Meu /var/log/apache2diretório contém arquivos, incluindo:
example.com.error.log
db.example.com.error.log
app1.example.com.error.log
app2.example.com.error.log
Estou tentando criar uma glob para corresponder a todos os arquivos que terminam em .error.log exceto db.example.error.log - isso é possível?
Eu tentei, !(db)*.error.logmas isso ainda corresponde db.example.com.error.log. Eu estou supondo !()que não corresponde a nenhum caractere, permitindo *que ele corresponda desde o início do nome do arquivo.
Nota: Eu não quero ter que estender o glob quando novos appXarquivos de log são adicionados, portanto não posso usar @()a lista de nomes de arquivos não db atualmente conhecidos.
(Histórico: desejo criar um filtro que proíba qualquer pessoa que solicite qualquer URL phpMyAdmin em qualquer domínio, exceto db.example.com)