Я пытаюсь сопоставить имена файлов для 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
добавлении новых файлов журналов, поэтому я не могу использовать @()
со списком известных в настоящее время имен файлов не-db.
(Справочная информация: я хочу создать фильтр, запрещающий любому, кто запрашивает любые URL-адреса phpMyAdmin в любом домене, кроме db.example.com)
источник