Поскольку страница руководства не отвечает на мой вопрос, и я не хочу запускать цикл ротации, я решил задать этот вопрос здесь.
Страница man для logrotate дает следующий пример:
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Все примеры с подстановочными знаками содержат только одну запись. Теперь меня интересует, разрешено ли это:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
Вот причина: у меня есть несколько vhosts, и я разделил их по пользователю, который «владеет» этими vhosts. Поскольку файлы журналов доступны для чтения всем, я хочу подключить папку в домашний каталог пользователя, но ограничить ее файлами журналов, которые «принадлежат» пользователю, что проще всего сделать, разделив журналы на папки (и связать -монтирование требует эту схему в любом случае). Поэтому я ищу решение для поворота как файлов журнала, /var/log/httpd
так и всех файлов журнала в подкаталогах этого каталога - без необходимости перечислять каждый подкаталог по имени.
В общем, страница руководства не дает никакой информации о том, возможно ли вообще несколько записей для правил подстановочных знаков или только для полных путей. Я использую logrotate версии 3.7.8-6, которая поставляется с Debian "Squeeze", но я считаю, что это не обязательно относится к дистрибутиву или версии программы.
Я просто хотел уточнить, потому что это то, что я получил здесь, глядя, как это сделать,
Допускается указание нескольких файлов журнала для одной конфигурации, например
источник
Со страницы man для logrotate :
Пожалуйста, не забудьте изменить или удалить кавычки при переходе от одного к нескольким шаблонам:
Это работает:
это тоже работает:
Это не работает:
и ни это
Сравните с одним шаблоном.
Это работает:
и это тоже работает:
Протестировано с logrotate 3.10.0
источник
"/var/space /log/*.log" "/var/log/*.blog"