- syslog
- logrotate
- cron
Powyższe trio dobrze się sprawdza na maszynach produkcyjnych, działających 24/7. Logrotate dostarcza cronowi zadanie do katalogu daily, które wykonywane jest codziennie, tuż po północy. Problem zaczyna się na desktopie, gdy komputer jest wyłączany przed wykonaniem zadań w daily. Logi puchną, przechowując bardzo stare i często zbędne informacje. Można kombinować z anacronem, ja jednak postanowiłem sprawdzić co do zaoferowania ma tu syslog-ng, gdyż w PLD jest to domyślny demon logów.
Założyłem, że nie potrzebuję trzymać dzienników dłużej niż tydzień, oraz nie będę potrzebował ich kompresować. W pliku /etc/syslog-ng/syslog-ng.conf odszukujemy definicje plików (file) w destination np.:
destination d_messages { file("/var/log/messages"); };
Dodajemy do nazwy pliku makro $WEEKDAY, doklejające trzyliterowy przyrostek, odpowiadający aktualnemu dniu tygodnia. Ponadto dodajemy opcję overwrite_if_older(86400), gwarantującą że demon nie nadpisze danego pliku wcześniej niż za 24 godziny (86400 sekund):
destination d_messages { file("/var/log/messages.$WEEKDAY" overwrite_if_older(86400)); };
na koniec restartujemy demona. To rozwiąże problem tylko z aplikacjami korzystającymi z sysloga, dlatego musimy przekonfigurować każdą aplikację z osobna. Przykładowo sudo w PLD pisze zarówno do sysloga, jak i do własnego pliku, załatwiamy to jedną linijką w pliku /etc/sudoers:
Defaults !logfile
Nie musimy się za to przejmować logami pliku /var/log/dmesg*, czy programów X.org, GDM, gdyż same troszczą się o swoje dzienniki.
Brak komentarzy:
Prześlij komentarz