Příklady Linux Logrotate

Priklady Linux Logrotate



Informace protokolu jsou velmi důležitou součástí každého operačního systému pro diagnostiku problému jakékoli spuštěné aplikace a položky protokolu pomáhají najít řešení problému. Většina aplikací operačního systému Linux generuje protokol a správce systému získá požadované informace o aplikaci ze záznamů protokolu. Položky protokolu však někdy způsobují problémy, protože velikost položek se časem zvětšuje. Položky protokolu je tedy nutné spravovat.

Logrotate je nástroj příkazového řádku systému Linux pro správu položek protokolu. Tento nástroj pomáhá provádět různé typy úloh na položkách protokolu správcem, jako je omezení rotovaných souborů protokolu, komprimace rotovaných souborů protokolu, mazání nepotřebných souborů protokolu, spuštění konkrétního skriptu shell na základě souborů protokolu atd. příkazu „logrorate“ pro správu souborů protokolu různými způsoby jsou v tomto tutoriálu uvedeny na několika příkladech.

Zkontrolujte nainstalovanou verzi Logrotate

Příkaz „logrotate“ je standardně nainstalován v nové verzi operačního systému Ubuntu. Spusťte následující příkaz a zkontrolujte nainstalovanou verzi příkazu „logrotate“:







$ logrotate --verze



Záznamy protokolu různých aplikací jsou standardně uloženy ve složce „/var/log“. Následující podobný obsah se zobrazí, pokud zkontrolujete obsah složky.



$ ls / byl / log





Nastavte konfiguraci „Logrotate“.

Nastavení hodnoty Účel
denně/týdně/měsíčně/ročně Definuje dobu trvání rotace protokolů.
otočit číslo Definuje počet souborů, které budou zachovány před odstraněním starých souborů protokolu.
komprimovat Používá se ke kompresi souborů protokolu.
komprimovatcmd Slouží k nastavení příkazu „compress“. Výchozí příkaz je gzip.
dekomprimovatcmd Používá se k nastavení příkazu „uncompress“. gunzip je výchozí příkaz.
delaycompress Používá se ke zpoždění procesu komprese souborů protokolu.
oznámení prázdné Slouží k neotáčení prázdného souboru.
postrádám Pokud je nastavena, nevygeneruje se pro chybějící soubory protokolu žádná chyba.
velikost Používá se k nastavení limitu pro zahájení rotace souborů protokolu.
dateext Používá se k přidání hodnoty data jako přípony rotovaného souboru.
copytruncate Slouží k vytvoření kopie původního souboru.
předtočené Používá se ke spuštění skriptu před otočením souborů protokolu.
postrotovat Používá se ke spuštění skriptu po otočení souborů protokolu.
vytvořit Používá se k vytváření souborů protokolu s oprávněním root.

Syntax:

Syntaxe příkazu „logrotate“ je dána následovně:



logrotate [ VOLBA ] cesta_konfiguračního_souboru

Pomocí příkazu „logrotate“ lze pro různé účely použít různé typy voleb.

Možnosti Logrotate

Některé užitečné možnosti příkazu „logrotate“ jsou uvedeny níže:

-f, –sil V případě potřeby se používá k silnému otáčení.
-d, –ladit Používá se k povolení režimu ladění během otáčení.
-m, –mail Slouží k odeslání emailu během rotace.
-s, –state Používá se pro soubory alternativního stavu.
-používání Používá se k tisku informací o použití.
-?, -Pomoc Používá se k tisku pomocných zpráv.
-v, –verbose Používá se k tisku v podrobném režimu.

Logrotate konfigurační soubor

Hlavní konfigurační soubor logrotate se nachází v umístění „/etc/logrotate.conf“. Spusťte následující příkaz a otevřete soubor v editoru nano:

$ nano / atd / logrotate.conf

Výchozí nastavení příkazu „logrotate“ je zobrazeno v souboru „logrotate.conf“. Direktiva „include“ se v souboru používá k načtení konfigurace, která se nachází v adresáři „/etc/logrotate.d“.

Příklad 1: Vytvořte jednoduchý konfigurační soubor Logrotate

Vytvořte vzorový soubor protokolu s názvem „/var/log/test.log“ se vzorovými daty protokolu. Spuštěním následujícího příkazu otevřete editor nano a vytvořte nový soubor „logrotate.conf“ v umístění složky „/etc/tmp“. Vytvořte složku „/tmp“ s právy root, pokud nebyla vytvořena dříve.

$ nano / atd / tmp / logrotate.conf

Přidejte následující obsah do souboru pro soubor „/var/log/test.log“. Podle nastavení bude soubor „test.log“ denně rotován, pokud velikost souboru přesáhne 5 kB:

/ byl / log / test.log {

denně

velikost 5 tis

jeho root adm

}

Spusťte následující příkaz a zkontrolujte velikost souboru protokolu:

$ ls -l / byl / log / test.log

Po vytvoření konfiguračního souboru spusťte příkaz „logrotate“.

$ sudo logrotate / atd / tmp / logrotate.conf

Spusťte znovu následující příkaz a zkontrolujte velikost souboru protokolu po provedení příkazu „logrotate“:

$ ls -l / byl / log / test.log

Velikost souboru „test.log“ je 1K+. Na základě nastavení konfigurace se tedy neprovádí žádné otáčení.

Změňte hodnotu velikosti na 1 kB v souboru „/etc/tmp/logrotate.conf“ a znovu spusťte příkaz „ls“, abyste zkontrolovali velikost souboru „/var/log/test.log“. Podle výstupu se soubor protokolu otočí a odstraní, protože je překročen limit velikosti.

Příklad 2: Použití Logrotate Copytruncate

Vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením, aby bylo vidět použití copytruncate. Podle nového nastavení logrotate vytvoří kopii původního souboru nastavením původní velikosti souboru na nulu.

/ byl / log / test.log {

točit se 5

velikost 1 k

copytruncate

jeho root adm

}

Spusťte následující příkaz a zkontrolujte velikost souboru „test.log“:

$ ls -l / byl / log / test.log

Po vytvoření konfiguračního souboru spusťte příkaz „logrotate“.

$ sudo logrotate / atd / tmp / logrotate.conf

Spusťte znovu následující příkaz a zkontrolujte velikost souboru „test.log“ po provedení příkazu „logrotate“:

$ ls -l / byl / log / test.log

Původní velikost souboru se stane 0 po provedení příkazu „logrotate“ pro nastavení copytruncate.

Příklad 3: Použití Logrotate Compress

Vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením, abyste ukázali použití komprese. Podle nového nastavení logrotate vytvoří komprimovaný soubor původního souboru.

/ byl / log / test.log {

točit se 5

velikost 1 k

komprimovat

vytvořit 770 root adm

}

Spusťte následující příkaz a zkontrolujte seznam souborů a složek „/var/log“:

$ ls / byl / log /

Po vytvoření konfiguračního souboru spusťte příkaz „logrotate“.

$ sudo logrotate / atd / tmp / logrotate.conf

Spusťte znovu následující příkaz a zkontrolujte seznam souborů a složek „/var/log“:

$ ls / byl / log /

Vytvoří se komprimovaný soubor souboru „test.log“ s názvem „test.log.1.gz“ a původní soubor se odstraní.

Příklad 4: Použití Logrotate Dateext

Vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením, aby bylo vidět použití dateext. Podle nového nastavení logrotate vytvoří komprimovaný soubor původního souboru s hodnotou data.

byl / log / test.log {

jeho root adm

točit se 5

velikost 1 k

komprimovat

vytvořit 770 root adm

dateext

}

Po vytvoření konfiguračního souboru spusťte příkaz „logrotate“.

$ sudo logrotate / atd / tmp / logrotate.conf

Spusťte následující příkaz a zkontrolujte seznam souborů a složek „/var/log“:

$ ls -l / byl / log /

Vytvoří se komprimovaný soubor souboru „test.log“ s názvem „test.log.20240129.gz“ a původní soubor se odstraní.

Příklad 5: Použití Logrotate Maxage

Vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením, abyste ukázali použití maxage. Podle nastavení logrotate uchovává pět položek protokolu, pokud velikost souboru protokolu po jednom dni přesáhne 1 kB.

/ byl / log / test.log {

jeho root adm

točit se 5

velikost 1 k

komprimovat

maxage 1

}

Spusťte následující příkaz „logrotate“ pro uložení výstupu do jiného souboru protokolu s názvem „out.log“:

$ sudo logrotate -s = / byl / log / out.log / atd / tmp / logrotate.conf

Podle následujícího výstupu se soubor „out.log“ vytvoří po provedení příkazu „logrotate“:

Příklad 6: Použití Logrotate Missingok

Vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením. Zde soubor protokolu „testfile.log“ ve složce „/var/log“ neexistuje.

/ byl / log / testfile.log {

jeho root adm

točit se 5

velikost 1 k

komprimovat

}

Po provedení příkazu „logrotate“ se vytiskne chybové hlášení.

Přidejte nastavení „missingok“ do konfiguračního souboru logrotate a znovu spusťte příkaz „logrotate“. Pro chybějící soubor protokolu se nevytiskne žádná chyba.

Příklad 7: Použití Logrotate Prerotate

Vytvořte soubor Bash s názvem „test.sh“ pomocí následujícího skriptu, který vytiskne jednoduchou zprávu. Soubor je použit v tomto příkladu logrotate k ukázce použití prerotate v konfiguračním souboru logrotate.

test.sh



#!/bin/bash

echo 'logrotate příklady...'

Po vytvoření souboru spusťte následující příkaz a nastavte oprávnění ke spuštění tohoto souboru pro všechny uživatele:

$ chmod a+x / Domov / porozumění / test.sh

Nyní vytvořte nebo upravte soubor „/etc/tmp/logrotate.conf“ s následujícím nastavením. Podle nastavení logrotate uchovává pět položek protokolu, pokud velikost souboru protokolu přesáhne 1 kB a soubor „test.sh“ je spuštěn před rotací.

/ byl / log / test.log {

jeho root adm

točit se 5

velikost 1 k

předtočené

/ Domov / porozumění / test.sh

koncový skript

}

Výstup souboru „test.sh“ se zobrazí po provedení příkazu „logrotate“:

Závěr

Různá použití příkazu „logrotate“ jsou ukázána v tomto tutoriálu na několika příkladech, které pomohou uživateli Linuxu poznat použití příkazu a správně spravovat soubory protokolu.