Próbuję dopasować nazwy plików dla więzienia fail2ban - więc muszę używać tylko globowania nazw plików - nie wyrażeń regularnych ani skryptów bash.
Mój /var/log/apache2katalog zawiera pliki, w tym:
example.com.error.log
db.example.com.error.log
app1.example.com.error.log
app2.example.com.error.log
Próbuję utworzyć glob, aby pasował do wszystkich plików kończących się na, .error.log z wyjątkiem db.example.error.log - czy to możliwe?
Próbowałem, !(db)*.error.logale to nadal pasuje db.example.com.error.log. Zgaduję, że !()nie pasuje do żadnych znaków, co pozwala na *dopasowanie od początku nazwy pliku.
Uwaga: Nie chcę rozszerzać globu, gdy appXdodawane są nowe pliki dziennika, więc nie mogę używać @()z listą obecnie znanych nazw plików innych niż db.
(Tło: Chcę utworzyć filtr zabraniający wszystkim domagania się adresów URL phpMyAdmin w dowolnej domenie z wyjątkiem db.example.com)