Jak používat Logrotate na Ubuntu
Logrotate je nástroj systémového nástroje, který se používá ke správě souborů protokolu v Ubuntu. Pokud libovolný systém zpracovává velké množství serverů, generuje se velké množství souborů protokolu, které spotřebovávají obrovské místo na disku. Logrotate se používá k automatickému otáčení, komprimaci nebo odebrání souborů protokolu, aby se ušetřilo místo na disku. Zde jsou zmíněny některé funkce Logrotate:
- Aktivuje se, když se velikost souboru protokolu zvětší a dosáhne určitého limitu.
- Vytvoří nový soubor protokolu po otočení starých souborů.
- Komprimuje soubory protokolu.
- Po rotaci protokolu provede shell skript.
- Odebere starší otočené soubory protokolu, aby se ušetřilo místo na disku.
V tomto tutoriálu se naučíte, jak používat tento nástroj na Ubuntu 17.10.
Kontrola verze Logrotate
Logrotate je ve výchozím nastavení nainstalován na Ubuntu. Spuštěním následujícího příkazu zkontrolujte, zda je nainstalován. Tady je verze Logrotate 3.11.0.
$ logrotate
Konfigurační soubory Logrotate
Informace o konfiguraci Logrotate jsou uloženy na dvou místech. Jedním z nich je hlavní konfigurační soubor, který je umístěn v / etc / logrotate.konf. Obsahuje výchozí nastavení a použití zahrnout příkaz k načtení informací o konfiguraci z jiného umístění. Dalším místem je adresář, který obsahuje všechny konfigurační soubory služeb a aplikací a nachází se v / etc / logrotate.d. Když se do systému nainstaluje jakýkoli nový balíček, jsou v tomto umístění uloženy informace o rotaci protokolu pro tento balíček.
Otevřeno logrotovat.konf z terminálu.
$ nano / etc / logrotate.konfZobrazí se následující obsah. Soubory protokolu můžete otáčet hodinově, denně, týdně, měsíčně a ročně. Týdně zde znamená, že soubory protokolu budou konfigurovány každý týden. Další řádek označuje, že soubory protokolu jsou vlastněny uživateli skupiny root a syslog. Otočení 4 označuje, že Logrotate uchová 4 týdny zálohování souborů protokolu a po rotaci starých souborů protokolu se vytvoří prázdné soubory protokolu. Pokud nastavíte rotaci 0, budou odstraněny všechny staré soubory protokolu. Pokud chcete komprimovat soubory protokolu, jednoduše odkomentujte řádek komprese odstraněním symbolu hash.
Pokud otevřete adresář / etc / logrotate.d poté se zobrazí následující seznam, který obsahuje další konfigurační soubory logrotate.
$ ls / etc / logrotate.d
Spuštěním příkazu otevřete konfigurační soubor apache2. Existuje mnoho typů pravidel, která se používají pro nastavení konfigurace. Některé z nich jsou vysvětleny zde. chybí označuje, že pokud chybí soubor protokolu, nebude napsána žádná chybová zpráva a upozornit označuje, že pokud je soubor protokolu prázdný, nebude se otáčet. Vytvořte 644 root root se používá k vytváření souborů protokolu bezprostředně po rotaci, jako uživatel root a skupina uživatelů root se specifickým režimem oprávnění.
$ nano / etc / logrotate.d / apache2
Vytváření ukázkového konfiguračního souboru
Předpokládejme, že chcete vytvořit konfigurační soubor v umístění / home / ubuntu / logrotate.konf kde bude nastavení pro logrotate nastaveno jako: soubory protokolu se budou otáčet každý měsíc, otáčet se 10krát, komprimovat, vynechat chybovou zprávu, pokud nějaký soubor protokolu chybí, a po odebrání starých vytvořit soubor protokolu. Otevřete libovolný editor, přidejte následující možnosti nastavení a soubor uložte. Tady, ubuntu je přihlášeno uživatelské jméno.
/ home / Ubuntu / logs / *.logměsíční
chybí
otočit 10
komprimovat
vytvořit
Spuštěním následujícího příkazu vytvořte soubor protokolu s názvem mylog.log a zpočátku je soubor protokolu prázdný.
$ nano mylog.logSpusťte příkaz logrotate a zkontrolujte, zda jsou položky protokolu vytvořeny nebo ne.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state --verboseNásledující výstup se zobrazí po prvním provedení výše uvedeného příkazu.
Nyní otevřeno logrotate-state soubor prozkoumat, který je do souboru přidán. Protože ještě nejsou generovány žádné soubory protokolu, zobrazí se následující výstup.
$ nano home / ubuntu / logrotate-state
Spuštěním následujícího příkazu proveďte násilné otočení souboru protokolu. Ale podle předchozího výstupu se zde neobjeví žádná změna, protože interval otáčení je nastaven jako měsíční a časové období zde není překročeno.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state--verbose - síla
Ke konfiguraci souborů protokolu je k dispozici mnoho dalších možností logrotate. Seznam možností logrotate získáte po provedení následujícího příkazu:
$ man logrotate
Některé další nejčastěji používané možnosti logrotate jsou, size, copytruncate, postrotate, maxage a compresscmd. Tyto možnosti jsou zde stručně vysvětleny.
velikost:
Tato volba slouží k nastavení limitu velikosti souboru protokolu a logrotate bude soubory protokolu otáčet, když velikost souboru dosáhne nebo překročí limit.
copytruncate:
Tato možnost se používá k vytvoření kopie původních souborů protokolu a zkrácení původní velikosti souboru protokolu na 0. Aby služba související s tímto konkrétním souborem protokolu mohla správně zapsat protokol do původního souboru.
postrotovat:
Tato možnost se používá ke spuštění vlastního skriptu prostředí po dokončení rotace souboru protokolu.
maxage:
Tato možnost se používá k nastavení doby trvání pro ukládání informací o starém souboru protokolu. Nastavuje maximální hodnoty ve dnech, aby se zachovaly soubory protokolu, a všechny soubory protokolu budou odstraněny, když hodnoty maxage překročí.
compresscmd:
Soubory protokolu můžete komprimovat pomocí různých příkazů. Tato možnost se používá k určení typu příkazu komprese.
Po přečtení tohoto tutoriálu budete moci používat Logrotate s různými možnostmi pro správnou správu souborů protokolu.
Více informací
Logrotate Man Page