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.confPredvolené 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.confPridajte 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.logPo vytvorení konfiguračného súboru spustite príkaz „logrotate“.
$ sudo logrotate / atď / tmp / logrotate.confPo vykonaní príkazu „logrotate“ znova spustite nasledujúci príkaz, aby ste skontrolovali veľkosť súboru denníka:
$ ls -l / bol / log / test.logVeľ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.logPo vytvorení konfiguračného súboru spustite príkaz „logrotate“.
$ sudo logrotate / atď / tmp / logrotate.confZnova spustite nasledujúci príkaz a skontrolujte veľkosť súboru „test.log“ po vykonaní príkazu „logrotate“:
$ ls -l / bol / log / test.logPô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.confZnova 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.confSpustite 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.confPodľ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.shTeraz 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.