Ponieważ strona podręcznika nie odpowiada na moje pytanie i nie chcę wymuszać cyklu rotacji, postanowiłem zadać pytanie tutaj.
Strona podręcznika dla programu logrotate podaje następujący przykład:
"/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
}
Wszystkie przykłady z symbolami wieloznacznymi zawierają tylko jeden wpis. Teraz interesuje mnie to, czy ten jest również dozwolony:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
Oto uzasadnienie: mam wiele vhostów i podzieliłem je przez użytkownika, który „jest właścicielem” tych vhostów. Ponieważ pliki dziennika są odczytywalne na całym świecie, chcę podłączyć folder do katalogu domowego użytkownika, ale ogranicz go do plików dziennika, które użytkownik „posiada”, co jest najłatwiejsze dzięki oddzieleniu dzienników na foldery (i powiązanie -montowanie i tak wymaga tego schematu). Dlatego szukam rozwiązania, aby obrócić zarówno pliki dziennika w ramach, /var/log/httpd
jak i wszystkie pliki dziennika w podkatalogach tego katalogu - bez konieczności wyświetlania każdego podkatalogu według nazwy.
Zasadniczo strona man nie daje pojęcia, czy wiele reguł jest w ogóle możliwych dla reguł wieloznacznych, czy tylko dla pełnych ścieżek. Używam Logrotate w wersji 3.7.8-6, która jest dostarczana z Debianem „Squeeze”, ale uważam, że niekoniecznie jest to specyficzne dla dystrybucji lub wersji programu.