Linux Logrotate näited

Linux Logrotate Naited



Logiteave on iga operatsioonisüsteemi väga oluline osa mis tahes töötava rakenduse probleemi diagnoosimisel ja logikirjed aitavad leida probleemile lahenduse. Enamik Linuxi operatsioonisüsteemi rakendusi genereerib logi ja süsteemiadministraator saab logikirjetest vajaliku teabe rakenduse kohta. Siiski tekitavad logikirjed mõnikord probleeme, kuna kirjete suurus muutub aja jooksul suuremaks. Seega on logikirjete haldamiseks vaja.

Logrotate on Linuxi käsurea tööriist logikirjete haldamiseks. See tööriist aitab administraatori logikirjetel täita erinevaid toiminguid, nagu pööratud logifailide piiramine, pööratud logifailide tihendamine, mittevajalike logifailide kustutamine, logifailidel põhineva konkreetse shelliskripti käivitamine jne. Selles õpetuses näidatakse mitme näite abil logifailide haldamiseks mõeldud käsku 'logrorate'.

Kontrollige installitud Logrotate versiooni

Käsk 'logrotate' on vaikimisi installitud Ubuntu operatsioonisüsteemi uude versiooni. Käsu 'logrotate' installitud versiooni kontrollimiseks käivitage järgmine käsk:







$ logroteerida -- versioon



Erinevate rakenduste logikirjed salvestatakse vaikimisi kausta „/var/log”. Kui kontrollite kausta sisu, kuvatakse järgmine sarnane sisu.



$ ls / oli / logi





Määrake 'Logrotate' konfiguratsioon

Väärtuse määramine Eesmärk
iga päev/nädalas/kuus/aastas See määrab logide pööramise aja.
numbrit pöörama See määrab failide arvu, mida säilitatakse enne vanade logifailide eemaldamist.
suruma kokku Seda kasutatakse logifailide tihendamiseks.
tihenda cmd Seda kasutatakse käsu 'tihendamiseks' määramiseks. Gzip on vaikekäsk.
lahti pakkidacmd Seda kasutatakse käsu 'lahti pakkimiseks' määramiseks. Gunzip on vaikekäsk.
viivituskompress Seda kasutatakse logifailide tihendamise edasilükkamiseks.
teatis tühi Seda kasutatakse tühja faili mitte pööramiseks.
Ma olen puudu Kui see on määratud, siis puuduvate logifailide puhul viga ei tekitata.
suurus Seda kasutatakse logifailide pööramise alustamise limiidi määramiseks.
kuupäevatekst Seda kasutatakse kuupäeva väärtuse lisamiseks pööramisfaili järelliitena.
kopeerida Seda kasutatakse originaalfaili koopia loomiseks.
eelpööratud Seda kasutatakse skripti käivitamiseks enne logifailide pööramist.
järelpööramine Seda kasutatakse skripti käivitamiseks pärast logifailide pööramist.
luua Seda kasutatakse juurõigustega logifailide loomiseks.

Süntaks:

Käsu “logrotate” süntaks on esitatud järgmiselt:



logroteerida [ VALIK ] config_file_path

Käsuga “logrotate” saab erinevatel eesmärkidel kasutada erinevat tüüpi suvandeid.

Logrotate Valikud

Käsu “logrotate” kasulikke valikuid mainitakse järgmises:

-f, -jõud Seda kasutatakse vajaduse korral jõuliseks pööramiseks.
-d, -silumine Seda kasutatakse silumisrežiimi lubamiseks pööramise ajal.
-m, –mail Seda kasutatakse e-kirja saatmiseks pööramise ajal.
-s, –olek Seda kasutatakse alternatiivsete olekufailide jaoks.
– kasutamine Seda kasutatakse kasutusteabe printimiseks.
–?, –abi Seda kasutatakse abistavate sõnumite printimiseks.
-v, -sõnaline Seda kasutatakse paljusõnalises režiimis printimiseks.

Logrotate konfiguratsioonifaili

Peamine logrotate konfiguratsioonifail asub asukohas „/etc/logrotate.conf”. Faili avamiseks nanoredaktoris käivitage järgmine käsk:

$ nano / jne / logrotate.conf

Käsu “logrotate” vaikesäte on näidatud failis “logrotate.conf”. Failis kasutatakse käsku 'include' kataloogis '/etc/logrotate.d' asuva konfiguratsiooni hankimiseks.

Näide 1: Looge lihtne Logrotate konfiguratsioonifail

Looge näidislogiandmetega näidislogifail nimega „/var/log/test.log”. Käivitage järgmine käsk nanoredaktori avamiseks, et luua kaustas '/etc/tmp' uus fail 'logrotate.conf'. Looge juurõigustega kaust '/tmp', kui seda pole varem loodud.

$ nano / jne / tmp / logrotate.conf

Lisage faili „/var/log/test.log” failile järgmine sisu. Vastavalt seadistusele pööratakse faili 'test.log' iga päev, kui faili suurus ületab 5K:

/ oli / logi / test.log {

iga päev

suurus 5K

tema juur adm

}

Logifaili suuruse kontrollimiseks käivitage järgmine käsk:

$ ls -l / oli / logi / test.log

Käivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.

$ sudo logroteerida / jne / tmp / logrotate.conf

Pärast käsu „logrotate” täitmist käivitage logifaili suuruse kontrollimiseks uuesti järgmine käsk:

$ ls -l / oli / logi / test.log

Faili “test.log” suurus on 1 k+. Seega ei toimu konfiguratsiooniseadete põhjal pööramist.

Muutke failis „/etc/tmp/logrotate.conf” suuruse väärtuseks 1K ja käivitage uuesti käsk „ls”, et kontrollida faili „/var/log/test.log” faili suurust. Vastavalt väljundile logifail pööratakse ja kustutatakse, kuna suuruse piirang on ületatud.

Näide 2: Logrotate Copytruncate kasutamine

Looge või muutke fail „/etc/tmp/logrotate.conf” järgmiste sätetega, et näidata copytruncate kasutamist. Vastavalt uutele sätetele loob logrotate originaalfailist koopia, muutes algse faili suuruse nulliks.

/ oli / logi / test.log {

pöörata 5

suurus 1 k

kopeerida

tema juur adm

}

Käivitage järgmine käsk, et kontrollida faili 'test.log' suurust:

$ ls -l / oli / logi / test.log

Käivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.

$ sudo logroteerida / jne / tmp / logrotate.conf

Käivitage järgmine käsk uuesti, et kontrollida faili 'test.log' suurust pärast käsu 'logrotate' täitmist:

$ ls -l / oli / logi / test.log

Algse faili suuruseks saab 0 pärast copytruncate sätte käsu „logrotate” täitmist.

Näide 3: Logrotate Compressi kasutamine

Tihenduse kasutamise näitamiseks looge või muutke fail „/etc/tmp/logrotate.conf” järgmiste sätetega. Vastavalt uutele sätetele loob logrotate algsest failist tihendusfaili.

/ oli / logi / test.log {

pöörata 5

suurus 1 k

suruma kokku

luua 770 juur adm

}

Käivitage järgmine käsk, et kontrollida faili '/var/log' failide ja kaustade loendit:

$ ls / oli / logi /

Käivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.

$ sudo logroteerida / jne / tmp / logrotate.conf

Käivitage järgmine käsk uuesti, et kontrollida faili '/var/log' failide ja kaustade loendit:

$ ls / oli / logi /

Faili “test.log” tihendatud fail luuakse nimega “test.log.1.gz” ja algne fail eemaldatakse.

Näide 4: Logrotate Dateext kasutamine

Looge või muutke fail “/etc/tmp/logrotate.conf” järgmiste sätetega, et näidata dateexti kasutamist. Vastavalt uutele sätetele loob logrotate algsest failist tihendusfaili koos kuupäeva väärtusega.

oli / logi / test.log {

tema juur adm

pöörata 5

suurus 1 k

suruma kokku

luua 770 juur adm

kuupäevatekst

}

Käivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.

$ sudo logroteerida / jne / tmp / logrotate.conf

Käivitage järgmine käsk, et kontrollida faili '/var/log' failide ja kaustade loendit:

$ ls -l / oli / logi /

Faili “test.log” tihendatud fail luuakse nimega “test.log.20240129.gz” ja algne fail eemaldatakse.

Näide 5: Logrotate Maxage kasutamine

Looge või muutke fail '/etc/tmp/logrotate.conf' järgmiste sätetega, et näidata maxage'i kasutamist. Vastavalt seadistustele säilitab logrotate viis logikirjet, kui logifaili suurus ületab ühe päeva pärast 1K.

/ oli / logi / test.log {

tema juur adm

pöörata 5

suurus 1 k

suruma kokku

maxage 1

}

Käivitage järgmine käsk 'logrotate', et salvestada väljund teise logifaili nimega 'out.log':

$ sudo logroteerida -s = / oli / logi / välja.log / jne / tmp / logrotate.conf

Vastavalt järgmisele väljundile luuakse fail “out.log” pärast käsu “logrotate” täitmist:

Näide 6: Logrotate Missingoki kasutamine

Looge või muutke fail “/etc/tmp/logrotate.conf” järgmiste sätetega. Siin ei ole logifaili 'testfile.log' kaustas '/var/log'.

/ oli / logi / testfile.log {

tema juur adm

pöörata 5

suurus 1 k

suruma kokku

}

Pärast käsu 'logrotate' täitmist prinditakse veateade.

Lisage logrotate konfiguratsioonifaili säte 'missingok' ja käivitage käsk 'logrotate' uuesti. Puuduva logifaili puhul viga ei prindita.

Näide 7: Logrotate Prerotate kasutamine

Looge Bashi fail nimega 'test.sh' järgmise skriptiga, mis prindib lihtsa sõnumi. Faili kasutatakse selles logrotate näites, et näidata eelrotatsiooni kasutamist logrotate konfiguratsioonifailis.

test.sh



#!/bin/bash

kaja 'logrotate näited...'

Pärast faili loomist käivitage järgmine käsk, et määrata selle faili täitmisõigus kõigile kasutajatele:

$ chmod a+x / Kodu / mõistmine / test.sh

Nüüd looge või muutke fail '/etc/tmp/logrotate.conf' järgmiste sätetega. Vastavalt seadistustele säilitab logrotate viis logikirjet, kui logifaili suurus ületab 1K ja enne pööramist käivitatakse fail “test.sh”.

/ oli / logi / test.log {

tema juur adm

pöörata 5

suurus 1 k

eelpööratud

/ Kodu / mõistmine / test.sh

lõpukiri

}

Faili 'test.sh' väljund kuvatakse pärast käsu 'logrotate' täitmist:

Järeldus

Selles õpetuses näidatakse käsu „logrotate” erinevaid kasutusviise, kasutades mitmeid näiteid, mis aitavad Linuxi kasutajal käsu kasutusalasid teada ja logifaile õigesti hallata.