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/apache2
diretó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.log
mas 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 appX
arquivos 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)