Logrotate – archiwiazacja logów

Rosnące logi na dysku potrafią zniechęcić każdego administratora do logów. Pomocą tutaj okazuje się program Logrotate który pozwala w ładny sposób administrować logami.

Konfiguracja programu odbywa się na dwa sposoby. Opcje globalne oraz niezbędne dyrektywy dla kilku plików logów są zdefiniowane w pliku /etc/logrotate.conf. Dodatkowe procedury dla programów instalowanych z pakietów są zdefiniowane w plikach w katalogu /etc/logrotate.d

Opcje globalne (domyślne)

Pliki można archiwizować tygodniowo (weekly) lub co miesiąc (monthly). Nie należy trzymać w nieskończoność ich ale powinno się określić czas jak długo są przechowywane. Pomaga tutaj dyrektywa rotate określająca jak długo są one trzymane (w jednostce czasu określonej poprzednio). Najlepiej pliki archiwalne trzymać spakowane (compress). Wygodnie jest również trzymać dodatkowe include /etc/logrotate.d definicje dla programów w osobnym katalogu include nazwa_katalogu, korzystają z tego programy instalowane z pakietów.

Te wymagania spełnia poniższy plik (domyślny dla dystrybucji Mandriva; tłumaczenia własne).

# /etc/logrotate
# see "man logrotate" for details
# pliki domyślnie są archiwizowane co tydzień
weekly

# pliki logów są trzymane 4 tygodnie
rotate 4

# na miejsce zarchiwizowanych logów tworzone są nowe pliki
create

# pliki archiwalnych logów powinny być archiwizowane
compress

# dodatkowe procedury dla programów instalowanych z pakietów
# są zdefiniowane w plikach w katalogu /etc/logrotate.d
include /etc/logrotate.d

Przykładowe definicje

Plik wtmp jest archiwizowany co miesiąc a logi są trzymane także przez miesiąc.

/var/log/lastlog {
    monthly
    rotate 1
}

Plik lastlog jest archiwizowany co miesiąc a logi są trzymane także przez miesiąc. Nowy plik logów o nazwie utmp tworzony jest z uprawnieniami roota i prawami dostępu 0644 ( prawo zapisu u odczytu dla roota, dla grupy oraz innych tylko prawo odczytu).

/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

Dodaj komentarz