Abdussamad.com

CentOSWiele demonów działających w CentOS Linux tworzy swoje własne pliki logów. Te pliki dzienników zawierają pomocne wiadomości odnoszące się do działania tych demonów. Na przykład komunikaty o błędach, które pomagają w diagnozowaniu problemów z systemem. Z czasem te pliki logów muszą być rotowane aby łatwiej było nimi zarządzać. Rotacja logów jest procesem dzielenia dużych plików logów i archiwizowania starych plików logów do wykorzystania w przyszłości. W CentOS program o nazwie logrotate jest odpowiedzialny za rotację plików logów. W tym poście przyjrzę się jak dostosować działanie logrotate.

Uruchamianie logrotate

logrotate jest uruchamiany codziennie przez crona poprzez plik /etc/cron.daily/logrotate. W CentOS 5.x cron jest odpowiedzialny za uruchamianie systemowych zadań cron, takich jak logrotate. Można go skonfigurować poprzez edycję pliku /etc/crontab.

W CentOS 6.x anacron jest zainstalowany domyślnie i odpowiada za uruchamianie systemowych zadań cron.

logrotate.conf

logrotate.conf znajduje się w /etc/ i przechowuje domyślną konfigurację systemową dla logrotate. Domyślnie w CentOS logrotate będzie rotował logi co tydzień i utrzymywał 4 tygodnie zaległości. Możesz dostosować logrotate.conf, ale zazwyczaj lepiej jest dostosować konfigurację rotacji logów poszczególnych demonów w /etc/logrotate.d/

/etc/logrotate.d/

Katalog ten zawiera pliki rotacji logów dla różnych usług działających w systemie.

Typowym plikiem w tym katalogu jest ten dla Apache ( /etc/logrotate.d/httpd ):

/var/log/httpd/*log { missingok monthly notifempty sharedscripts postrotate /sbin/service httpd reload > /dev/null 2> /dev/null || true endscript}

Pierwsza linia to wyrażenie regularne, które dopasowuje pliki logów. W tym przypadku są to wszystkie pliki kończące się na „log” i znajdujące się w katalogu /var/log/httpd.

Wewnątrz nawiasów otwierających i zamykających znajdują się opcje rotacji logów dla plików tego demona. W powyższym przypadku masz skonfigurowaną rotację miesięczną.

Opcje dla logrotate

Niektóre z opcji, które możesz umieścić w pliku logrotate.conf lub w plikach rotacji logów poszczególnych demonów w /etc/logrotate.d/ są następujące :

  • rotate: Określa liczbę dzienników wstecznych do zachowania przy użyciu opcji rotate. Na przykład „rotate 5” zachowa 5 starych plików dziennika.
  • compress: Skompresuje stare pliki dziennika, aby zaoszczędzić miejsce na dysku.
  • daily, weekly, monthly or yearly: Rotuj logi po upływie określonego okresu.
  • size: Określ rozmiar pliku dziennika, aby wywołać rotację. Na przykład „rozmiar 50M” spowoduje rotację pliku dziennika, jeśli jego rozmiar będzie wynosił 50MB lub więcej. Możesz użyć prefiksu M dla megabajtów, k dla kilobajtów i G dla gigabajtów. Jeśli nie zostanie użyty żaden przedrostek, będzie on oznaczał bajty.
  • minsize: To jest jak rozmiar, z wyjątkiem tego, że bierze również pod uwagę okres ( miesięczny, tygodniowy itp.). Więc będzie rotować pliki dziennika tylko wtedy, gdy okres jest osiągnięty ORAZ pliki dziennika są większe niż podany minsize.
  • prerotate i postrotate: Określają one polecenia, które można uruchomić przed i po rotacji logów. Na przykład ponowne uruchomienie demona po rotacji logów.

Pełną listę dostępnych opcji znajdziesz w pliku man logrotate.conf ( man logrotate.conf na CentOS ).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *