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.