Я пытаюсь сопоставить имена файлов для 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)