Ako používať Logrotate na Ubuntu
Logrotate je nástroj systémového nástroja, ktorý sa používa na správu súborov protokolu v systéme Ubuntu. Ak ľubovoľný systém spracuje veľké množstvo serverov, vygeneruje sa veľké množstvo súborov denníka, ktoré zaberajú obrovské miesto na disku. Program Logrotate sa používa na automatické otáčanie, kompresiu alebo odstraňovanie súborov protokolu, aby sa šetrilo miesto na disku. Tu sú uvedené niektoré funkcie Logrotate:
- Aktivuje sa, keď sa veľkosť protokolového súboru zväčší a dosiahne konkrétny limit.
- Po rotácii starých súborov vytvorí nový súbor denníka.
- Komprimuje súbory denníka.
- Po rotácii protokolu vykoná shell skript.
- Odstráni staršie rotované súbory denníka, aby sa ušetrilo miesto na disku.
V tejto príručke sa dozviete, ako používať tento nástroj v systéme Ubuntu 17.10.
Prebieha kontrola verzie Logrotate
Logrotate je predvolene nainštalovaný na Ubuntu. Spustením nasledujúceho príkazu skontrolujte, či je nainštalovaný. Tu je verzia Logrotate 3.11.0.
$ logrotate
Logrotate konfiguračné súbory
Informácie o konfigurácii Logrotate sú uložené na dvoch miestach. Jedným z nich je hlavný konfiguračný súbor, ktorý sa nachádza v priečinku / etc / logrotate.konf. Obsahuje predvolené nastavenia a použitie zahrnúť príkaz na získanie informácií o konfigurácii z iného umiestnenia. Ďalším miestom je adresár, ktorý obsahuje všetky konfiguračné súbory služieb a aplikácií, a nachádza sa v priečinku / etc / logrotate.d. Keď sa do systému nainštaluje akýkoľvek nový balík, potom sa na tomto mieste uložia informácie o rotácii protokolu pre tento balík.
Otvorené logrotovať.konf z terminálu.
$ nano / etc / logrotate.konfZobrazí sa nasledujúci obsah. Môžete otáčať súbory denníka hodinové, denné, týždenné, mesačné a ročné. Tu týždenne znamená, že súbory denníka sa budú konfigurovať každý týždeň. Nasledujúci riadok označuje, že súbory denníka vlastnia používatelia skupín root a syslog. Otočenie 4 znamená, že si Logrotate ponechá 4 týždne zálohovania súborov protokolu a po rotácii starých súborov protokolu sa vytvoria prázdne súbory protokolu. Ak nastavíte rotáciu 0, odstránia sa všetky staré súbory denníka. Ak chcete komprimovať súbory denníka, stačí odkomentovať riadok kompresie odstránením symbolu hash.
Ak otvoríte adresár / etc / logrotate.d potom sa objaví nasledujúci zoznam, ktorý obsahuje ďalšie konfiguračné súbory logrotate.
$ ls / etc / logrotate.d
Spustením príkazu otvorte konfiguračný súbor apache2. Existuje mnoho typov pravidiel, ktoré sa používajú pre konfiguračné nastavenia. Niektoré z nich sú vysvetlené tu. chýbajúci označuje, že nebude chýbať žiadna chybová správa, ak chýba logovací súbor a upozorniť označuje, že ak je súbor protokolu prázdny, nebude sa otáčať. Vytvorte 644 root root sa používa na vytváranie protokolových súborov ihneď po rotácii, ako užívateľ root a skupina používateľov root s konkrétnym režimom povolení.
$ nano / etc / logrotate.d / apache2
Vytvára sa vzorový konfiguračný súbor
Predpokladajme, že chcete vytvoriť konfiguračný súbor v umiestnení / home / ubuntu / logrotate.konf kde budú nastavenia pre logrotate nastavené ako: log súbory sa budú otáčať mesačne, rotovať 10 krát, komprimovať, vynechať chybové hlásenie ak nejaký log súbor chýba a po odstránení starých vytvoriť log súbor. Otvorte ľubovoľný editor, pridajte nasledujúce možnosti nastavenia a uložte súbor. Tu, ubuntu je prihlásený na meno používateľa.
/ home / Ubuntu / logs / *.denníkmesačne
chýbajúci
otočiť 10
stlačiť
vytvoriť
Spustením nasledujúceho príkazu vytvorte súbor denníka s názvom mylog.log a súbor na začiatku je prázdny.
$ nano mylog.logSpustením príkazu logrotate skontrolujte, či sú záznamy protokolu vytvorené alebo nie.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state --verboseNasledujúci výstup sa zobrazí po prvom vykonaní vyššie uvedeného príkazu.
Teraz otvorené logrotátny štát súbor preskúmať, čo je do súboru pridané. Pretože zatiaľ nie sú vygenerované žiadne súbory denníka, zobrazí sa nasledujúci výstup.
$ nano home / ubuntu / logrotate-state
Spustením nasledujúceho príkazu prudko otočíte súbor protokolu. Ale podľa predchádzajúceho výstupu sa tu neobjaví žiadna zmena, pretože interval rotácie je nastavený ako mesačný a časové obdobie tu nie je prekročené.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state--verbose - sila
Na konfiguráciu súborov denníka je k dispozícii mnoho ďalších možností logrotate. Zoznam možností logrotate získate po vykonaní nasledujúceho príkazu:
$ man logrotate
Niektoré ďalšie najčastejšie používané možnosti logrotate sú, size, copytruncate, postrotate, maxage a compresscmd. Tieto možnosti sú tu v krátkosti vysvetlené.
veľkosť:
Táto voľba slúži na nastavenie limitu veľkosti súboru denníka a logrotate bude rotovať súbory denníka, keď veľkosť súboru dosiahne alebo prekročí limit.
copytruncate:
Táto voľba sa používa na vytvorenie kópie pôvodných súborov denníka a skrátenie pôvodnej veľkosti súboru denníka na 0. Aby mohla služba súvisiaca s konkrétnym protokolovým súborom správne zapísať protokol do pôvodného súboru.
postrotovať:
Táto možnosť sa používa na spustenie vlastného skriptu shellu po dokončení rotácie protokolového súboru.
maxage:
Táto možnosť sa používa na nastavenie času trvania ukladania informácií o starom protokolovom súbore. Nastavuje maximálne hodnoty v dňoch, aby sa uchovali súbory denníka, a všetky súbory denníka sa odstránia, keď maximálna hodnota presiahne.
compresscmd:
Súbory protokolu môžete komprimovať pomocou rôznych príkazov. Táto voľba sa používa na určenie typu príkazu na kompresiu.
Po prečítaní tohto tutoriálu budete môcť program Logrotate používať s rôznymi možnosťami správneho spravovania súborov protokolu.
Viac informácií
Logrotate Man Page