Estou tentando combinar nomes de arquivos para uma prisão fail2ban - então preciso usar apenas globbing de nome de arquivo - não regexes ou script 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 um 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
. Suponho !()
que não corresponda a nenhum caractere, permitindo *
que corresponda desde o início do nome do arquivo.
Observação: não quero ter que estender o glob quando novos appX
arquivos de log forem adicionados, então não posso usar @()
com a lista de nomes de arquivos não-db atualmente conhecidos.
(Antecedentes: desejo criar um filtro banindo qualquer pessoa que solicite qualquer URL do phpMyAdmin em qualquer domínio, exceto db.example.com)