Primeri Logrotate za Linux

Primeri Logrotate Za Linux



Podatki v dnevniku so zelo pomemben del katerega koli operacijskega sistema za diagnosticiranje težave katere koli delujoče aplikacije, vnosi v dnevnik pa pomagajo najti rešitev težave. Večina aplikacij operacijskega sistema Linux ustvarja dnevnik in sistemski skrbnik dobi zahtevane informacije o aplikaciji iz vnosov v dnevnik. Vendar pa vnosi v dnevnik včasih povzročajo težave, ker se velikost vnosov sčasoma poveča. Za upravljanje so torej potrebni vnosi v dnevnik.

Logrotate je orodje ukazne vrstice Linuxa za upravljanje vnosov v dnevnik. To orodje pomaga skrbniku izvajati različne vrste nalog na vnosih v dnevnik, kot je omejevanje zasukanih dnevniških datotek, stiskanje zasukanih dnevniških datotek, brisanje nepotrebnih dnevniških datotek, izvajanje določenega lupinskega skripta na podlagi dnevniških datotek itd. ukaza »logrorate« za upravljanje dnevniških datotek na različne načine so prikazani v tej vadnici z več primeri.

Preverite nameščeno različico Logrotate

Ukaz “logrotate” je privzeto nameščen v novi različici operacijskega sistema Ubuntu. Zaženite naslednji ukaz, da preverite nameščeno različico ukaza “logrotate”:







$ logrotirati --različica



Dnevniški vnosi različnih aplikacij so privzeto shranjeni v mapi »/var/log«. Če preverite vsebino mape, se prikaže naslednja podobna vsebina.



$ ls / je bil / dnevnik





Nastavite konfiguracijo 'Logrotate'.

Vrednost nastavitve Namen
dnevno/tedensko/mesečno/letno Določa časovno trajanje za vrtenje dnevnikov.
zavrti številko Določa število datotek, ki bodo shranjene pred odstranitvijo starih dnevniških datotek.
stisniti Uporablja se za stiskanje dnevniških datotek.
stisni cmd Uporablja se za nastavitev ukaza 'stisni'. Gzip je privzeti ukaz.
uncompresscmd Uporablja se za nastavitev ukaza “uncompress”. Gunzip je privzeti ukaz.
delaycompress Uporablja se za odložitev postopka stiskanja dnevniških datotek.
obvestilo prazno Uporablja se, da se prazna datoteka ne vrti.
pogrešam Če je nastavljen, se za manjkajoče dnevniške datoteke ne ustvari nobena napaka.
velikost Uporablja se za nastavitev omejitve za začetek kroženja dnevniških datotek.
dateext Uporablja se za dodajanje datumske vrednosti kot pripone datoteke za sukanje.
copytruncate Uporablja se za ustvarjanje kopije izvirne datoteke.
prerotated Uporablja se za zagon skripta pred rotacijo dnevniških datotek.
postrotirati Uporablja se za zagon skripta po rotiranju dnevniških datotek.
ustvariti Uporablja se za ustvarjanje dnevniških datotek s korenskimi pravicami.

Sintaksa:

Sintaksa ukaza “logrotate” je podana takole:



logrotirati [ MOŽNOST ] config_file_path

Različne vrste možnosti lahko uporabite za različne namene z ukazom “logrotate”.

Možnosti Logrotate

Nekatere uporabne možnosti ukaza “logrotate” so omenjene v nadaljevanju:

-f, – sila Uporablja se za močno vrtenje, ko je to potrebno.
-d, –odpravljanje napak Uporablja se za omogočanje načina za odpravljanje napak med rotacijo.
-m, –mail Uporablja se za pošiljanje e-pošte med rotacijo.
-s, –state Uporablja se za alternativne datoteke stanja.
– uporaba Uporablja se za tiskanje podatkov o uporabi.
–?, –pomoč Uporablja se za tiskanje sporočil pomoči.
-v, –besedno Uporablja se za tiskanje v verbose načinu.

Konfiguracijska datoteka Logrotate

Glavna konfiguracijska datoteka logrotate se nahaja na mestu »/etc/logrotate.conf«. Zaženite naslednji ukaz, da odprete datoteko v urejevalniku nano:

$ nano / itd / logrotate.conf

Privzeta nastavitev ukaza “logrotate” je prikazana v datoteki “logrotate.conf”. Direktiva »include« se v datoteki uporablja za pridobitev konfiguracije, ki se nahaja v imeniku »/etc/logrotate.d«.

Primer 1: Ustvarite preprosto konfiguracijsko datoteko Logrotate

Ustvarite vzorčno datoteko dnevnika z imenom »/var/log/test.log« z vzorčnimi dnevniškimi podatki. Zaženite naslednji ukaz, da odprete urejevalnik nano, da ustvarite novo datoteko »logrotate.conf« na lokaciji mape »/etc/tmp«. Ustvarite mapo »/tmp« s korenskimi pravicami, če ni bila ustvarjena prej.

$ nano / itd / tmp / logrotate.conf

Dodajte naslednjo vsebino v datoteko za datoteko »/var/log/test.log«. V skladu z nastavitvijo se bo datoteka »test.log« vsak dan vrtela, če velikost datoteke presega 5K:

/ je bil / dnevnik / test.log {

dnevno

velikost 5K

njegov koren adm

}

Zaženite naslednji ukaz, da preverite velikost dnevniške datoteke:

$ ls -l / je bil / dnevnik / test.log

Po ustvarjanju konfiguracijske datoteke zaženite ukaz “logrotate”.

$ sudo logrotirati / itd / tmp / logrotate.conf

Ponovno zaženite naslednji ukaz, da preverite velikost dnevniške datoteke po izvedbi ukaza “logrotate”:

$ ls -l / je bil / dnevnik / test.log

Velikost datoteke »test.log« je 1K+. Torej se na podlagi konfiguracijske nastavitve ne izvede rotacija.

Spremenite vrednost velikosti na 1K v datoteki »/etc/tmp/logrotate.conf« in znova zaženite ukaz »ls«, da preverite velikost datoteke »/var/log/test.log«. Glede na izhod se dnevniška datoteka zavrti in izbriše, ker je presežena omejitev velikosti.

Primer 2: Uporaba Logrotate Copytruncate

Ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami, da prikažete uporabo funkcije copytruncate. V skladu z novimi nastavitvami logrotate ustvari kopijo izvirne datoteke tako, da velikost izvirne datoteke ponastavi na nič.

/ je bil / dnevnik / test.log {

vrteti 5

velikost 1 k

copytruncate

njegov koren adm

}

Zaženite naslednji ukaz, da preverite velikost datoteke »test.log«:

$ ls -l / je bil / dnevnik / test.log

Po ustvarjanju konfiguracijske datoteke zaženite ukaz “logrotate”.

$ sudo logrotirati / itd / tmp / logrotate.conf

Znova zaženite naslednji ukaz, da preverite velikost datoteke »test.log« po izvedbi ukaza »logrotate«:

$ ls -l / je bil / dnevnik / test.log

Izvirna velikost datoteke postane 0 po izvedbi ukaza »logrotate« za nastavitev copytruncate.

Primer 3: Uporaba Logrotate Compress

Ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami, da prikažete uporabo stiskanja. V skladu z novimi nastavitvami logrotate ustvari stisnjeno datoteko izvirne datoteke.

/ je bil / dnevnik / test.log {

vrteti 5

velikost 1 k

stisniti

ustvariti 770 koren adm

}

Zaženite naslednji ukaz, da preverite seznam datotek in map »/var/log«:

$ ls / je bil / dnevnik /

Po ustvarjanju konfiguracijske datoteke zaženite ukaz “logrotate”.

$ sudo logrotirati / itd / tmp / logrotate.conf

Ponovno zaženite naslednji ukaz, da preverite seznam datotek in map »/var/log«:

$ ls / je bil / dnevnik /

Stisnjena datoteka datoteke »test.log« se ustvari z imenom »test.log.1.gz« in izvirna datoteka se odstrani.

Primer 4: Uporaba Logrotate Dateext

Ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami, da prikažete uporabo dateext. V skladu z novimi nastavitvami logrotate ustvari stisnjeno datoteko izvirne datoteke z datumsko vrednostjo.

je bil / dnevnik / test.log {

njegov koren adm

vrteti 5

velikost 1 k

stisniti

ustvariti 770 koren adm

dateext

}

Po ustvarjanju konfiguracijske datoteke zaženite ukaz “logrotate”.

$ sudo logrotirati / itd / tmp / logrotate.conf

Zaženite naslednji ukaz, da preverite seznam datotek in map »/var/log«:

$ ls -l / je bil / dnevnik /

Stisnjena datoteka datoteke »test.log« se ustvari z imenom »test.log.20240129.gz« in izvirna datoteka se odstrani.

Primer 5: Uporaba zdravila Logrotate Maxage

Ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami, da prikažete uporabo maxage. V skladu z nastavitvami logrotate hrani pet vnosov v dnevnik, če velikost dnevniške datoteke po enem dnevu preseže 1K.

/ je bil / dnevnik / test.log {

njegov koren adm

vrteti 5

velikost 1 k

stisniti

maxage 1

}

Zaženite naslednji ukaz »logrotate«, da shranite izhod v drugo datoteko dnevnika z imenom »out.log«:

$ sudo logrotirati -s = / je bil / dnevnik / out.log / itd / tmp / logrotate.conf

V skladu z naslednjim rezultatom se datoteka »out.log« ustvari po izvedbi ukaza »logrotate«:

Primer 6: Uporaba Logrotate Missingok

Ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami. Tu dnevniška datoteka »testfile.log« ne obstaja v mapi »/var/log«.

/ je bil / dnevnik / testfile.log {

njegov koren adm

vrteti 5

velikost 1 k

stisniti

}

Po izvedbi ukaza “logrotate” se natisne sporočilo o napaki.

Dodajte nastavitev »missingok« v konfiguracijsko datoteko logrotate in znova zaženite ukaz »logrotate«. Za manjkajočo datoteko dnevnika ni natisnjena nobena napaka.

Primer 7: Uporaba Logrotate Prerotate

Ustvarite datoteko Bash z imenom 'test.sh' z naslednjim skriptom, ki natisne preprosto sporočilo. Datoteka je uporabljena v tem primeru logrotate za prikaz uporabe predrotacije v konfiguracijski datoteki logrotate.

test.sh



#!/bin/bash

odmev 'logrotiraj primere ...'

Ko ustvarite datoteko, zaženite naslednji ukaz, da nastavite dovoljenje za izvajanje te datoteke za vse uporabnike:

$ chmod a+x / domov / razumevanje / test.sh

Zdaj ustvarite ali spremenite datoteko »/etc/tmp/logrotate.conf« z naslednjimi nastavitvami. V skladu z nastavitvami logrotate hrani pet vnosov v dnevnik, če velikost datoteke dnevnika presega 1K in se datoteka »test.sh« izvede pred rotacijo.

/ je bil / dnevnik / test.log {

njegov koren adm

vrteti 5

velikost 1 k

prerotated

/ domov / razumevanje / test.sh

endscript

}

Izhod datoteke »test.sh« je prikazan po izvedbi ukaza »logrotate«:

Zaključek

Različne uporabe ukaza »logrotate« so prikazane v tej vadnici z uporabo več primerov, ki bodo uporabniku Linuxa pomagali poznati uporabo ukaza in pravilno upravljati dnevniške datoteke.