Košík je prázdný

V prostředí serverů a aplikací, kde je neustále generován logovací výstup, se může velikost log souborů rychle zvětšovat. To může vést k nedostatku diskového prostoru, což může způsobit vážné problémy s výkonem a dostupností systému. Správa těchto log souborů je proto klíčová pro udržení zdravého a funkčního systému. Jedním z nástrojů, který nám v tomto pomáhá, je logrotate. logrotate je standardní unixový nástroj určený k automatizaci procesu rotace, komprese a odstraňování log souborů. Tento článek poskytuje přehled o tom, jak logrotate funguje a jak ho můžete efektivně používat pro správu vašich log souborů.

Základní principy logrotate

logrotate pracuje na základě konfiguračního souboru, obvykle umístěného v /etc/logrotate.conf nebo v adresáři /etc/logrotate.d/, kde každý soubor reprezentuje specifickou aplikaci nebo službu. Konfigurační soubory definují, jak často mají být logy rotovány, kolik starých verzí logů má být zachováno a zda mají být před odstraněním komprimovány.

Konfigurace logrotate

Základní syntaxe konfiguračního souboru je relativně přímočará. Zde je příklad jednoduché konfigurace pro Apache logy:

/var/log/apache2/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 640 root adm
    postrotate
        /etc/init.d/apache2 reload > /dev/null
    endscript
}

Význam jednotlivých direktiv:

  • daily: Rotace logů probíhá denně.
  • missingok: Nevyvolá chybu, pokud log soubor není nalezen.
  • rotate 14: Zachovává 14 rotací logů.
  • compress: Starší rotace logů jsou komprimovány.
  • delaycompress: Kompresi provádí až po první rotaci, aby se předešlo problémům s otevřenými soubory.
  • notifempty: Neotáčí prázdné soubory.
  • create 640 root adm: Po rotaci vytváří nový log soubor s danými oprávněními.
  • postrotate/endscript: Příkazy uvedené mezi těmito direktivami se provedou po rotaci logu.

Pokročilé možnosti konfigurace

logrotate nabízí mnoho pokročilých funkcí pro správu log souborů. Některé z nich zahrnují:

  • minsize: Rotace souboru, pouze pokud dosáhl určité velikosti.
  • dateext: Přidává datum do názvu rotovaného logu.
  • olddir: Ukládá staré logy do specifikovaného adresáře.
  • sharedscripts: Spouští skripty před/za rotací pouze jednou, ne pro každý log soubor zvlášť.

Nejlepší praktiky

Při používání logrotate je důležité dodržovat několik nejlepších praktik:

  • Regularita: Nastavte rotaci logů tak, aby odpovídala rychlosti jejich růstu a dostupnému diskovému prostoru.
  • Monitorování: Pravidelně kontrolujte logy a konfigurace logrotate, abyste zajistili, že vše funguje podle očekávání.
  • Testování: Před nasazením nové konfigurace ji otestujte, abyste se vyhnuli překvapením.

 

logrotate je nesmírně užitečný nástroj pro správu log souborů, který může pomoci udržet váš systém v chodu tím, že zabrání vyčerpání diskového prostoru. Jeho flexibilita a možnosti konfigurace z něj dělají vhodnou volbu pro téměř jakékoliv prostředí. Pravidelným přezkumem a úpravou konfigurace logrotate zajistíte, že vaše logy budou efektivně spravovány s minimálním dopadem na provoz systému.