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.confKä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.confLisage 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.logKäivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.
$ sudo logroteerida / jne / tmp / logrotate.confPärast käsu „logrotate” täitmist käivitage logifaili suuruse kontrollimiseks uuesti järgmine käsk:
$ ls -l / oli / logi / test.logFaili “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.logKäivitage käsk 'logrotate' pärast konfiguratsioonifaili loomist.
$ sudo logroteerida / jne / tmp / logrotate.confKäivitage järgmine käsk uuesti, et kontrollida faili 'test.log' suurust pärast käsu 'logrotate' täitmist:
$ ls -l / oli / logi / test.logAlgse 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.confKä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.confKä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.confVastavalt 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.shNüü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.