Określ godzinę dziennego obrotu dziennika

33

Zauważyłem, że codzienne rotacje logów wymienione poniżej /etc/logrotate.d/są wykonywane rano około 6:40 rano. Jest to jasne od początku i końca plików dziennika. Czy mogę dostosować ten czas i ustawić go na przykład na północ?

Miło jest mieć jeden plik dziennika na dzień.

Używam serwera Ubuntu 10.04, jeśli to ma znaczenie.

Khaled
źródło

Odpowiedzi:

35

Edytuj w /etc/crontablinii, która mówi

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

tak, że 25 6czyta 0 0. Dzięki temu wszystkie skrypty będą /etc/cron.dailyuruchamiane o północy.

Jeśli chcesz, aby Logrotate działał tylko o północy, przejdź /etc/cron.daily/logrotatedo innego katalogu i dodaj wiersz

0 0    * * *   root    /new/path/to/logrotate/script

na końcu /etc/crontab.

petergil
źródło
1
Możesz także wprowadzić odpowiednie zmiany w tygodniowych i miesięcznych wierszach w tym samym pliku. Zgaduję, że utrzymywanie ich w tej samej względnej kolejności (codziennie, co tydzień, co miesiąc) i odstępów to dobry pomysł.
nealmcb
1

Jeśli masz Webmin / Virtualmin na swoim serwerze, możesz łatwiej zmienić czas wykonywania logrotate:

Wystarczy przejść do Webmin -> Scheduled Cron Jobsi wybrać dzienny cron. Zmodyfikuj go tak, jak chcesz i zapisz.

Sid
źródło