Linux Logrotate pavyzdžiai

Linux Logrotate Pavyzdziai



Žurnalo informacija yra labai svarbi bet kurios operacinės sistemos dalis diagnozuojant bet kurios veikiančios programos problemą, o žurnalo įrašai padeda išsiaiškinti problemos sprendimą. Dauguma „Linux“ operacinės sistemos programų generuoja žurnalą, o sistemos administratorius iš žurnalo įrašų gauna reikiamą informaciją apie programą. Tačiau žurnalo įrašai kartais sukelia problemų, nes laikui bėgant įrašų dydis didėja. Taigi žurnalo įrašus reikia tvarkyti.

Logrotate yra „Linux“ komandų eilutės įrankis žurnalo įrašams tvarkyti. Šis įrankis padeda administratoriaus atlikti įvairių tipų žurnalo įrašų užduotis, pvz., apriboti pasuktus žurnalo failus, suspausti pasuktus žurnalo failus, ištrinti nereikalingus žurnalo failus, vykdyti konkretų apvalkalo scenarijų pagal žurnalo failus ir kt. „logorate“ komandos, skirtos įvairiais būdais tvarkyti žurnalo failus, parodyta šioje pamokoje naudojant kelis pavyzdžius.

Patikrinkite įdiegtą Logrotate versiją

Komanda „logrotate“ yra įdiegta pagal numatytuosius nustatymus naujoje „Ubuntu“ operacinės sistemos versijoje. Vykdykite šią komandą, kad patikrintumėte įdiegtą „logrotate“ komandos versiją:







$ log pasukti -- versija



Įvairių programų žurnalo įrašai pagal numatytuosius nustatymus saugomi aplanke „/var/log“. Šis panašus turinys bus rodomas, jei patikrinsite aplanko turinį.



$ ls / buvo / žurnalas





Nustatykite „Logrotate“ konfigūraciją

Nustatymo vertė Tikslas
kasdien / kas savaitę / kas mėnesį / kasmet Jis apibrėžia žurnalų pasukimo trukmę.
pasukti skaičių Jis apibrėžia failų, kurie bus saugomi prieš pašalinant senus žurnalo failus, skaičių.
suspausti Jis naudojamas žurnalo failams suspausti.
suspausti cmd Jis naudojamas komandai „suspausti“ nustatyti. Gzip yra numatytoji komanda.
išspausticmd Jis naudojamas komandai „išspausti“ nustatyti. gunzip yra numatytoji komanda.
suspaudimo uždelsimas Jis naudojamas žurnalo failų glaudinimo procesui atidėti.
pranešimas tuščias Jis naudojamas nepasukti tuščio failo.
aš pasiilgau Jei jis nustatytas, trūkstamų žurnalo failų klaida nesukuriama.
dydis Jis naudojamas norint nustatyti žurnalo failų sukimosi ribą.
datos tekstas Jis naudojamas pridėti datos reikšmę kaip pasukimo failo priesagą.
sutrumpinti Jis naudojamas kuriant originalaus failo kopiją.
iš anksto pasuktas Jis naudojamas scenarijui paleisti prieš sukant žurnalo failus.
po rotacijos Jis naudojamas scenarijui paleisti pasukus žurnalo failus.
sukurti Jis naudojamas žurnalo failams kurti su root teise.

Sintaksė:

Komandos „logrotate“ sintaksė pateikiama taip:



log pasukti [ OPTION ] config_file_path

Įvairių tipų parinktys gali būti naudojamos įvairiems tikslams naudojant komandą „logrotate“.

Logrotate parinktys

Kai kurios naudingos komandos „logrotate“ parinktys yra paminėtos toliau:

-f, -jėga Jis naudojamas priverstinai suktis, kai reikia.
-d, -derinimas Jis naudojamas derinimo režimui įjungti sukimosi metu.
-m, –mail Jis naudojamas el. laiškui siųsti rotacijos metu.
-s, -state Jis naudojamas alternatyvios būsenos failams.
– naudojimas Jis naudojamas naudojimo informacijai spausdinti.
–?, – pagalba Jis naudojamas pagalbos žinutėms spausdinti.
-v, -žodingas Jis naudojamas spausdinti išsamiu režimu.

Logrotate konfigūracijos failą

Pagrindinis logrotate konfigūracijos failas yra „/etc/logrotate.conf“ vietoje. Vykdykite šią komandą, kad atidarytumėte failą nano redaktoriuje:

$ nano / ir tt / logrotate.conf

Numatytasis „logrotate“ komandos nustatymas rodomas „logrotate.conf“ faile. „Include“ direktyva naudojama faile norint nuskaityti konfigūraciją, esančią „/etc/logrotate.d“ kataloge.

1 pavyzdys: Sukurkite paprastą logrotate konfigūracijos failą

Sukurkite pavyzdinį žurnalo failą pavadinimu „/var/log/test.log“ su pavyzdiniais žurnalo duomenimis. Vykdykite šią komandą, kad atidarytumėte nano redaktorių ir sukurtumėte naują „logrotate.conf“ failą aplanko „/etc/tmp“ vietoje. Sukurkite aplanką „/tmp“ su root teisėmis, jei jis nebuvo sukurtas anksčiau.

$ nano / ir tt / tmp / logrotate.conf

Pridėkite šį turinį prie failo „/var/log/test.log“ failo. Pagal nustatymą, failas „test.log“ bus pasukamas kasdien, jei failo dydis viršija 5K:

/ buvo / žurnalas / test.log {

kasdien

dydis 5 tūkst

jo šaknis adm

}

Norėdami patikrinti žurnalo failo dydį, paleiskite šią komandą:

$ ls -l / buvo / žurnalas / test.log

Sukūrę konfigūracijos failą, paleiskite komandą „logrotate“.

$ sudo log pasukti / ir tt / tmp / logrotate.conf

Paleiskite šią komandą dar kartą, kad patikrintumėte žurnalo failo dydį, kai įvykdėte komandą „logrotate“:

$ ls -l / buvo / žurnalas / test.log

Failo „test.log“ dydis yra 1 K+. Taigi, remiantis konfigūracijos nustatymu, pasukimas nėra atliekamas.

Pakeiskite dydžio reikšmę į 1K faile „/etc/tmp/logrotate.conf“ ir dar kartą paleiskite komandą „ls“, kad patikrintumėte „/var/log/test.log“ failo dydį. Pagal išvestį žurnalo failas pasukamas ir ištrinamas, nes viršijamas dydžio limitas.

2 pavyzdys: Logrotate Copytruncate naudojimas

Sukurkite arba modifikuokite failą „/etc/tmp/logrotate.conf“ naudodami toliau nurodytus nustatymus, kad parodytumėte, kaip naudojamas kopijavimas. Pagal naujus nustatymus logrotate sukuria pradinio failo kopiją, paversdama pradinio failo dydį iki nulio.

/ buvo / žurnalas / test.log {

pasukti 5

dydis 1 k

sutrumpinti

jo šaknis adm

}

Paleiskite šią komandą, kad patikrintumėte „test.log“ failo dydį:

$ ls -l / buvo / žurnalas / test.log

Sukūrę konfigūracijos failą, paleiskite komandą „logrotate“.

$ sudo log pasukti / ir tt / tmp / logrotate.conf

Paleiskite šią komandą dar kartą, kad patikrintumėte „test.log“ failo dydį, įvykdę komandą „logrotate“:

$ ls -l / buvo / žurnalas / test.log

Pradinis failo dydis tampa 0, kai įvykdoma komanda „logrotate“, skirta copytruncate nuostatai.

3 pavyzdys: Logrotate Compress naudojimas

Sukurkite arba modifikuokite failą „/etc/tmp/logrotate.conf“ naudodami toliau nurodytus nustatymus, kad parodytumėte suspaudimo naudojimą. Pagal naujus nustatymus logrotate sukuria pradinio failo suspaudimo failą.

/ buvo / žurnalas / test.log {

pasukti 5

dydis 1 k

suspausti

sukurti 770 šaknis adm

}

Paleiskite šią komandą, kad patikrintumėte „/var/log“ failų ir aplankų sąrašą:

$ ls / buvo / žurnalas /

Sukūrę konfigūracijos failą, paleiskite komandą „logrotate“.

$ sudo log pasukti / ir tt / tmp / logrotate.conf

Dar kartą paleiskite šią komandą, kad patikrintumėte „/var/log“ failų ir aplankų sąrašą:

$ ls / buvo / žurnalas /

Sukurtas „test.log“ failo suspaustas failas pavadinimu „test.log.1.gz“, o pradinis failas pašalinamas.

4 pavyzdys: Logrotate Dateext naudojimas

Sukurkite arba modifikuokite failą „/etc/tmp/logrotate.conf“ naudodami toliau nurodytus nustatymus, kad parodytumėte, kaip naudojamas dateext. Pagal naujus nustatymus logrotate sukuria pradinio failo suglaudinimo failą su datos reikšme.

buvo / žurnalas / test.log {

jo šaknis adm

pasukti 5

dydis 1 k

suspausti

sukurti 770 šaknis adm

datos tekstas

}

Sukūrę konfigūracijos failą, paleiskite komandą „logrotate“.

$ sudo logpasukti / ir tt / tmp / logrotate.conf

Paleiskite šią komandą, kad patikrintumėte „/var/log“ failų ir aplankų sąrašą:

$ ls -l / buvo / žurnalas /

Sukurtas suspaustas failo „test.log“ failas pavadinimu „test.log.20240129.gz“, o pradinis failas pašalinamas.

5 pavyzdys: Logrotate Maxage naudojimas

Sukurkite arba modifikuokite failą „/etc/tmp/logrotate.conf“ naudodami toliau nurodytus nustatymus, kad parodytumėte, kaip naudojamas maxage. Pagal nustatymus logrotate išsaugo penkis žurnalo įrašus, jei po vienos dienos žurnalo failo dydis viršija 1K.

/ buvo / žurnalas / test.log {

jo šaknis adm

pasukti 5

dydis 1 k

suspausti

maxage 1

}

Vykdykite šią komandą „logrotate“, kad išsaugotumėte išvestį kitame žurnalo faile, pavadintame „out.log“:

$ sudo log pasukti -s = / buvo / žurnalas / out.log / ir tt / tmp / logrotate.conf

Pagal šią išvestį „out.log“ failas sukuriamas įvykdžius komandą „logrotate“:

6 pavyzdys: Logrotate Missingok naudojimas

Sukurkite arba pakeiskite failą „/etc/tmp/logrotate.conf“ naudodami šiuos nustatymus. Čia žurnalo failas „testfile.log“ neegzistuoja aplanke „/var/log“.

/ buvo / žurnalas / testfile.log {

jo šaknis adm

pasukti 5

dydis 1 k

suspausti

}

Įvykdžius komandą „logrotate“, išspausdinamas klaidos pranešimas.

Logrotate konfigūracijos faile pridėkite „missingok“ nustatymą ir dar kartą paleiskite komandą „logrotate“. Dėl trūkstamo žurnalo failo klaida nespausdinama.

7 pavyzdys: Logrotate Prerotate naudojimas

Sukurkite „Bash“ failą pavadinimu „test.sh“ naudodami šį scenarijų, kuris išspausdina paprastą pranešimą. Failas šiame logrotate pavyzdyje naudojamas norint parodyti išankstinio pasukimo naudojimą logrotate konfigūracijos faile.

test.sh



#!/bin/bash

aidas „logrotate pavyzdžiai...“

Sukūrę failą, paleiskite šią komandą, kad nustatytumėte šio failo vykdymo leidimą visiems vartotojams:

$ chmod a+x / namai / supratimas / test.sh

Dabar sukurkite arba modifikuokite failą „/etc/tmp/logrotate.conf“ naudodami šiuos nustatymus. Pagal nustatymus logrotate išsaugo penkis žurnalo įrašus, jei žurnalo failo dydis viršija 1K, o failas „test.sh“ vykdomas prieš pasukimą.

/ buvo / žurnalas / test.log {

jo šaknis adm

pasukti 5

dydis 1 k

iš anksto pasuktas

/ namai / supratimas / test.sh

pabaiga

}

Failo „test.sh“ išvestis rodoma įvykdžius komandą „logrotate“:

Išvada

Įvairūs komandos „logrotate“ naudojimo būdai parodyti šioje pamokoje, naudojant kelis pavyzdžius, kurie padės „Linux“ vartotojui žinoti komandos naudojimą ir tinkamai valdyti žurnalo failus.