Pracuję nad programem, który tworzy duży plik dziennika.
Chcę poradzić sobie z tym za pomocą logrotate.
Oto konfiguracja, którą zastosowałem /etc/logrotate.d/
:
/var/log/myproject.log {
hourly
maxsize 1
rotate 6
missingok
notifempty
compress
nocreate
copytruncate
su www-data www-data
}
( /var/log/myproject.log
ma właściciela www-data
)
Polecenia
sudo logrotate -vf /etc/logrotate.conf
i
sudo logrotate -vf /etc/logrotate.d/myproject
obróć dziennik poprawnie.
Jednak po ich wywołaniu /etc/cron.hourly
jest pusty. Co oznacza, że logrotate nie jest nazywany co godzinę.
Czy mam gwarancję posiadania
logrotate
skryptu/etc/cron.daily
?Czy skrypt sprawdza częstotliwość aktualizacji plików dziennika. To znaczy, jeśli mam
logrotate
skrypt w/etc/cron.daily
iz jakiegoś pliku dziennikaX
w/etc/logrotate.d/
ustawićweekly
ustawienie będzieX
się obracać codziennie lub co tydzień?Mogę po prostu skopiować i wkleić
/etc/cron.daily/logrotate
do/etc/cron.hourly/
? Czy mogę wycinać i wklejać?Czy powinienem dodać
0anacron
plik/etc/cron.hourly/
?Czy powinienem zrobić coś innego, aby umożliwić rejestrowanie godzinowe?
grep -r logrotate /etc/cron*
Odpowiedzi:
Nie.
Od
man logrotate
:Więc tak.
Ponownie z manpage:
Tak, powinieneś przenieść skrypt. Po sprawdzeniu
cron.daily
skryptu w moim systemie myślę, że przeniesienie go powinno działać dobrze.źródło