Príklady logrotate pre Linux

Priklady Logrotate Pre Linux



Informácie denníka sú veľmi dôležitou súčasťou každého operačného systému na diagnostiku problému akejkoľvek spustenej aplikácie a záznamy denníka pomáhajú nájsť riešenie problému. Väčšina aplikácií operačného systému Linux generuje protokol a správca systému získava požadované informácie o aplikácii z položiek protokolu. Záznamy denníka však niekedy spôsobujú problémy, pretože veľkosť záznamov sa časom zväčšuje. Preto je potrebné spravovať záznamy denníka.

Logrotate je nástroj príkazového riadka systému Linux na správu záznamov denníka. Tento nástroj pomáha vykonávať rôzne typy úloh na záznamoch denníka zo strany správcu, ako je obmedzenie rotovaných protokolových súborov, komprimácia rotovaných protokolových súborov, vymazanie nepotrebných protokolových súborov, spustenie konkrétneho skriptu shell na základe protokolových súborov atď. príkazu „logrorate“ na správu súborov denníka rôznymi spôsobmi sú v tomto návode znázornené na viacerých príkladoch.

Skontrolujte nainštalovanú verziu Logrotate

Príkaz „logrotate“ je štandardne nainštalovaný v novej verzii operačného systému Ubuntu. Ak chcete skontrolovať nainštalovanú verziu príkazu „logrotate“, spustite nasledujúci príkaz:







$ logrotate --verzia



Záznamy denníka rôznych aplikácií sú štandardne uložené v priečinku „/var/log“. Nasledujúci podobný obsah sa zobrazí, ak skontrolujete obsah priečinka.



$ ls / bol / log





Nastavte konfiguráciu „Logrotate“.

Nastavenie hodnoty Účel
denne/týždenne/mesačne/ročne Definuje čas trvania rotácie protokolov.
otočiť číslo Definuje počet súborov, ktoré sa budú uchovávať pred odstránením starých protokolových súborov.
komprimovať Používa sa na kompresiu protokolových súborov.
komprimovaťcmd Používa sa na nastavenie príkazu „compress“. Predvolený príkaz je gzip.
uncompresscmd Používa sa na nastavenie príkazu „uncompress“. gunzip je predvolený príkaz.
delaycompress Používa sa na oneskorenie procesu kompresie protokolových súborov.
upozornenie prázdne Používa sa na neotáčanie prázdneho súboru.
chýba mi Ak je nastavený, pre chýbajúce protokolové súbory sa nevygeneruje žiadna chyba.
veľkosť Používa sa na nastavenie limitu pre spustenie rotácie súborov denníka.
dateext Používa sa na pridanie hodnoty dátumu ako prípony rotovaného súboru.
copytruncate Používa sa na vytvorenie kópie pôvodného súboru.
predtočené Používa sa na spustenie skriptu pred otočením súborov denníka.
postrotovať Používa sa na spustenie skriptu po otočení súborov denníka.
vytvoriť Používa sa na vytváranie protokolových súborov s privilégiom root.

Syntax:

Syntax príkazu „logrotate“ je daná takto:



logrotate [ MOŽNOSŤ ] config_file_path

Pomocou príkazu „logrotate“ možno na rôzne účely použiť rôzne typy možností.

Možnosti Logrotate

Niektoré užitočné možnosti príkazu „logrotate“ sú uvedené nižšie:

-f, –silu Používa sa na násilné otáčanie v prípade potreby.
-d, –ladenie Používa sa na aktiváciu režimu ladenia počas otáčania.
-m, –mail Slúži na odoslanie emailu počas rotácie.
-s, –state Používa sa pre alternatívne stavové súbory.
– použitie Používa sa na tlač informácií o používaní.
-?, -Pomoc Používa sa na tlač pomocných správ.
-v, –verbózny Používa sa na tlač v podrobnom režime.

Logrotate Configuration File

Hlavný konfiguračný súbor logrotate sa nachádza v umiestnení „/etc/logrotate.conf“. Spustite nasledujúci príkaz na otvorenie súboru v editore nano:

$ nano / atď / logrotate.conf

Predvolené nastavenie príkazu „logrotate“ je zobrazené v súbore „logrotate.conf“. Direktíva “include” sa používa v súbore na získanie konfigurácie, ktorá sa nachádza v adresári “/etc/logrotate.d”.

Príklad 1: Vytvorte jednoduchý konfiguračný súbor Logrotate

Vytvorte vzorový protokolový súbor s názvom „/var/log/test.log“ s údajmi vzorového protokolu. Spustite nasledujúci príkaz na otvorenie editora nano na vytvorenie nového súboru „logrotate.conf“ v umiestnení priečinka „/etc/tmp“. Vytvorte priečinok „/tmp“ s oprávneniami root, ak ešte nebol vytvorený.

$ nano / atď / tmp / logrotate.conf

Pridajte nasledujúci obsah do súboru pre súbor „/var/log/test.log“. Podľa nastavenia sa súbor „test.log“ bude denne otáčať, ak veľkosť súboru presiahne 5 kB:

/ bol / log / test.log {

denne

veľkosť 5 tis

jeho root adm

}

Ak chcete skontrolovať veľkosť súboru denníka, spustite nasledujúci príkaz:

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

Po vytvorení konfiguračného súboru spustite príkaz „logrotate“.

$ sudo logrotate / atď / tmp / logrotate.conf

Po vykonaní príkazu „logrotate“ znova spustite nasledujúci príkaz, aby ste skontrolovali veľkosť súboru denníka:

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

Veľkosť súboru „test.log“ je 1K+. Na základe nastavenia konfigurácie sa teda nevykonáva žiadna rotácia.

Zmeňte hodnotu veľkosti na 1 kB v súbore „/etc/tmp/logrotate.conf“ a znova spustite príkaz „ls“, aby ste skontrolovali veľkosť súboru „/var/log/test.log“. Podľa výstupu sa súbor denníka otočí a odstráni, pretože je prekročený limit veľkosti.

Príklad 2: Použitie Logrotate Copytruncate

Vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami, aby ste ukázali použitie copytruncate. Podľa nových nastavení logrotate vytvorí kópiu pôvodného súboru nastavením pôvodnej veľkosti súboru na nulu.

/ bol / log / test.log {

točiť sa 5

veľkosť 1 k

copytruncate

jeho root adm

}

Spustite nasledujúci príkaz a skontrolujte veľkosť súboru „test.log“:

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

Po vytvorení konfiguračného súboru spustite príkaz „logrotate“.

$ sudo logrotate / atď / tmp / logrotate.conf

Znova spustite nasledujúci príkaz a skontrolujte veľkosť súboru „test.log“ po vykonaní príkazu „logrotate“:

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

Pôvodná veľkosť súboru bude 0 po vykonaní príkazu „logrotate“ pre nastavenie copytruncate.

Príklad 3: Použitie Logrotate Compress

Vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami, aby ste ukázali použitie kompresie. Podľa nových nastavení logrotate vytvorí komprimovaný súbor pôvodného súboru.

/ bol / log / test.log {

točiť sa 5

veľkosť 1 k

komprimovať

vytvoriť 770 root adm

}

Spustite nasledujúci príkaz a skontrolujte zoznam súborov a priečinkov „/var/log“:

$ ls / bol / log /

Po vytvorení konfiguračného súboru spustite príkaz „logrotate“.

$ sudo logrotate / atď / tmp / logrotate.conf

Znova spustite nasledujúci príkaz, aby ste skontrolovali zoznam súborov a priečinkov „/var/log“:

$ ls / bol / log /

Vytvorí sa komprimovaný súbor súboru „test.log“ s názvom „test.log.1.gz“ a pôvodný súbor sa odstráni.

Príklad 4: Použitie Logrotate Dateext

Vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami, aby ste ukázali použitie dateext. Podľa nových nastavení logrotate vytvorí komprimovaný súbor pôvodného súboru s hodnotou dátumu.

bol / log / test.log {

jeho root adm

točiť sa 5

veľkosť 1 k

komprimovať

vytvoriť 770 root adm

dateext

}

Po vytvorení konfiguračného súboru spustite príkaz „logrotate“.

$ sudo logrotate / atď / tmp / logrotate.conf

Spustite nasledujúci príkaz a skontrolujte zoznam súborov a priečinkov „/var/log“:

$ ls -l / bol / log /

Vytvorí sa komprimovaný súbor súboru „test.log“ s názvom „test.log.20240129.gz“ a pôvodný súbor sa odstráni.

Príklad 5: Použitie Logrotate Maxage

Vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami, aby ste ukázali použitie maxage. Podľa nastavení logrotate uchováva päť záznamov denníka, ak veľkosť súboru denníka presiahne 1 kB po jednom dni.

/ bol / log / test.log {

jeho root adm

točiť sa 5

veľkosť 1 k

komprimovať

maxage 1

}

Spustite nasledujúci príkaz „logrotate“ na uloženie výstupu do iného súboru denníka s názvom „out.log“:

$ sudo logrotate -s = / bol / log / out.log / atď / tmp / logrotate.conf

Podľa nasledujúceho výstupu sa súbor „out.log“ vytvorí po vykonaní príkazu „logrotate“:

Príklad 6: Použitie Logrotate Missingok

Vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami. Tu súbor denníka „testfile.log“ neexistuje v priečinku „/var/log“.

/ bol / log / testfile.log {

jeho root adm

točiť sa 5

veľkosť 1 k

komprimovať

}

Po vykonaní príkazu „logrotate“ sa vytlačí chybové hlásenie.

Pridajte nastavenie „missingok“ do konfiguračného súboru logrotate a znova spustite príkaz „logrotate“. Pre chýbajúci súbor denníka sa nevytlačí žiadna chyba.

Príklad 7: Použitie Logrotate Prerotate

Vytvorte súbor Bash s názvom „test.sh“ pomocou nasledujúceho skriptu, ktorý vytlačí jednoduchú správu. Súbor sa používa v tomto príklade logrotate na zobrazenie použitia prerotate v konfiguračnom súbore logrotate.

test.sh



#!/bin/bash

ozvena 'logrotovať príklady...'

Po vytvorení súboru spustite nasledujúci príkaz na nastavenie povolenia na spustenie tohto súboru pre všetkých používateľov:

$ chmod a+x / Domov / pochopenie / test.sh

Teraz vytvorte alebo upravte súbor „/etc/tmp/logrotate.conf“ s nasledujúcimi nastaveniami. Podľa nastavení logrotate uchováva päť záznamov, ak veľkosť súboru denníka presiahne 1 kB a pred rotáciou sa spustí súbor „test.sh“.

/ bol / log / test.log {

jeho root adm

točiť sa 5

veľkosť 1 k

predtočené

/ Domov / pochopenie / test.sh

koncový skript

}

Výstup súboru „test.sh“ sa zobrazí po vykonaní príkazu „logrotate“:

Záver

Rôzne použitia príkazu „logrotate“ sú uvedené v tomto návode na niekoľkých príkladoch, ktoré pomôžu používateľovi Linuxu poznať použitie príkazu a správne spravovať súbory denníka.