Logrotate on Linuxin komentorivityökalu lokimerkintöjen hallintaan. Tämä työkalu auttaa suorittamaan erilaisia tehtäviä järjestelmänvalvojan lokimerkinnöille, kuten kiertävien lokitiedostojen rajoittaminen, kierrettyjen lokitiedostojen pakkaaminen, tarpeettomien lokitiedostojen poistaminen, tietyn shell-skriptin suorittaminen lokitiedostojen perusteella jne. 'logrorate'-komennon hallinta lokitiedostojen eri tavoilla hallinnassa on esitetty tässä opetusohjelmassa useilla esimerkeillä.
Tarkista asennettu Logrotate-versio
'logrotate' -komento on asennettu oletusarvoisesti Ubuntu-käyttöjärjestelmän uuteen versioon. Suorita seuraava komento tarkistaaksesi “logrotate”-komennon asennettu versio:
$ logrota --versio
Eri sovellusten lokimerkinnät tallennetaan oletusarvoisesti '/var/log'-kansioon. Seuraava samanlainen sisältö tulee näkyviin, jos tarkistat kansion sisällön.
$ ls / oli / Hirsi
Aseta “Logrotate”-asetukset
Asetusarvo | Tarkoitus |
päivittäin / viikoittain / kuukausittain / vuosittain | Se määrittää lokien kiertämisen keston. |
käännä numeroa | Se määrittää tiedostojen määrän, jotka säilytetään ennen vanhojen lokitiedostojen poistamista. |
puristaa | Sitä käytetään lokitiedostojen pakkaamiseen. |
pakkaa cmd | Sitä käytetään 'pakkaus'-komennon asettamiseen. gzip on oletuskomento. |
purkaa cmd | Sitä käytetään 'purkaa'-komennon asettamiseen. Gunzip on oletuskomento. |
viivepakkaus | Sitä käytetään viivyttämään lokitiedostojen pakkausprosessia. |
ilmoitus tyhjä | Sitä käytetään välttämään tyhjän tiedoston kiertämistä. |
minulta puuttuu | Jos se on asetettu, puuttuville lokitiedostoille ei synny virhettä. |
koko | Sitä käytetään rajoittamaan lokitiedostojen kiertämisen aloittamista. |
päivämääräteksti | Sitä käytetään päivämääräarvon lisäämiseen rotate-tiedoston päätteeksi. |
kopioida katkaista | Sitä käytetään luomaan kopio alkuperäisestä tiedostosta. |
esikäännetty | Sitä käytetään komentosarjan suorittamiseen ennen lokitiedostojen kiertämistä. |
kiertää jälkikäteen | Sitä käytetään komentosarjan suorittamiseen lokitiedostojen kiertämisen jälkeen. |
luoda | Sitä käytetään lokitiedostojen luomiseen pääkäyttäjän oikeuksin. |
Syntaksi:
'logrotate'-komennon syntaksi annetaan seuraavasti:
logrota [ VAIHTOEHTO ] config_file_path
Eri tyyppisiä valintoja voidaan käyttää eri tarkoituksiin “logrotate”-komennolla.
Logrotate-asetukset
Joitakin hyödyllisiä “logrotate”-komennon asetuksia mainitaan seuraavassa:
-f, -voima | Sitä käytetään tarvittaessa voimakkaaseen pyöritykseen. |
-d, -debug | Sitä käytetään ottamaan käyttöön virheenkorjaustila pyörityksen aikana. |
-m, –mail |
Sitä käytetään sähköpostin lähettämiseen kierron aikana. |
-s, -tila |
Sitä käytetään vaihtoehtoisten tilojen tiedostoille. |
-käyttö | Sitä käytetään käyttötietojen tulostamiseen. |
-?, -auta | Sitä käytetään auttavien viestien tulostamiseen. |
-v, -sanallinen | Sitä käytetään tulostamiseen monisanaisessa tilassa. |
Logrotate määritystiedosto
Päälogrotate-määritystiedosto sijaitsee paikassa '/etc/logrotate.conf'. Suorita seuraava komento avataksesi tiedoston nanoeditorissa:
$ nano / jne / logrotate.conf“logrotate”-komennon oletusasetus näkyy “logrotate.conf”-tiedostossa. 'Include'-komentoa käytetään tiedostossa '/etc/logrotate.d'-hakemistossa olevan kokoonpanon hakemiseen.
Esimerkki 1: Luo yksinkertainen Logrotate-määritystiedosto
Luo mallilokitiedosto nimeltä “/var/log/test.log” näytelokitiedoilla. Suorita seuraava komento avataksesi nanoeditorin ja luodaksesi uuden 'logrotate.conf' -tiedoston '/etc/tmp' -kansion sijaintiin. Luo /tmp-kansio pääkäyttäjän oikeuksin, jos sitä ei ole luotu aiemmin.
$ nano / jne / tmp / logrotate.confLisää seuraava sisältö '/var/log/test.log'-tiedoston tiedostoon. Asetuksen mukaan 'test.log'-tiedostoa kierretään päivittäin, jos tiedoston koko ylittää 5 kt:
/ oli / Hirsi / test.log {päivittäin
koko 5K
hänen root adm
}
Suorita seuraava komento tarkistaaksesi lokitiedoston koon:
$ ls -l / oli / Hirsi / test.logSuorita 'logrotate' -komento määritystiedoston luomisen jälkeen.
$ sudo logrota / jne / tmp / logrotate.confSuorita seuraava komento uudelleen tarkistaaksesi lokitiedoston koon 'logrotate'-komennon suorittamisen jälkeen:
$ ls -l / oli / Hirsi / test.logTest.log-tiedoston koko on yli 1 kt. Joten kiertoa ei tehdä konfigurointiasetuksen perusteella.
Muuta koon arvoksi 1 kt tiedostossa '/etc/tmp/logrotate.conf' ja suorita 'ls'-komento uudelleen tarkistaaksesi '/var/log/test.log' -tiedoston koon. Tulosteen mukaan lokitiedostoa käännetään ja poistetaan, koska kokoraja ylittyy.
Esimerkki 2: Logrotate Copytruncate -sovelluksen käyttö
Luo tai muokkaa /etc/tmp/logrotate.conf-tiedostoa seuraavilla asetuksilla näyttääksesi copytruncate-toiminnon käytön. Uusien asetusten mukaan logrotate luo kopion alkuperäisestä tiedostosta nollaamalla alkuperäisen tiedoston kooksi.
/ oli / Hirsi / test.log {kiertää 5
koko 1 k
kopioida katkaista
hänen root adm
}
Suorita seuraava komento tarkistaaksesi 'test.log'-tiedoston koon:
$ ls -l / oli / Hirsi / test.logSuorita 'logrotate' -komento määritystiedoston luomisen jälkeen.
$ sudo logrota / jne / tmp / logrotate.confSuorita seuraava komento uudelleen tarkistaaksesi 'test.log'-tiedoston koon 'logrotate'-komennon suorittamisen jälkeen:
$ ls -l / oli / Hirsi / test.logAlkuperäinen tiedostokoko on 0, kun copytruncate-asetuksen 'logrotate'-komento on suoritettu.
Esimerkki 3: Logrotate Compressin käyttö
Luo tai muokkaa /etc/tmp/logrotate.conf-tiedostoa seuraavilla asetuksilla näyttääksesi pakkauksen käytön. Uusien asetusten mukaan logrotate luo alkuperäisestä tiedostosta pakkaustiedoston.
/ oli / Hirsi / test.log {kiertää 5
koko 1 k
puristaa
luoda 770 root adm
}
Suorita seuraava komento tarkistaaksesi luettelon '/var/log' tiedostoista ja kansioista:
$ ls / oli / Hirsi /Suorita 'logrotate' -komento määritystiedoston luomisen jälkeen.
$ sudo logrota / jne / tmp / logrotate.confSuorita seuraava komento uudelleen tarkistaaksesi '/var/log' tiedostojen ja kansioiden luettelon:
$ ls / oli / Hirsi /Pakattu 'test.log'-tiedoston tiedosto luodaan nimellä 'test.log.1.gz' ja alkuperäinen tiedosto poistetaan.
Esimerkki 4: Logrotate Dateext:n käyttö
Luo tai muokkaa /etc/tmp/logrotate.conf-tiedostoa seuraavilla asetuksilla näyttääksesi dateextin käytön. Uusien asetusten mukaan logrotate luo alkuperäisestä tiedostosta pakkaustiedoston päivämäärän arvolla.
oli / Hirsi / test.log {hänen root adm
kiertää 5
koko 1 k
puristaa
luoda 770 root adm
päivämääräteksti
}
Suorita 'logrotate' -komento määritystiedoston luomisen jälkeen.
$ sudo logrota / jne / tmp / logrotate.confSuorita seuraava komento tarkistaaksesi luettelon '/var/log' tiedostoista ja kansioista:
$ ls -l / oli / Hirsi /Test.log-tiedoston pakattu tiedosto luodaan nimellä test.log.20240129.gz ja alkuperäinen tiedosto poistetaan.
Esimerkki 5: Logrotate Maxagen käyttö
Luo tai muokkaa '/etc/tmp/logrotate.conf'-tiedostoa seuraavilla asetuksilla näyttääksesi maxage:n käytön. Asetusten mukaan logrotate säilyttää viisi lokimerkintää, jos lokitiedoston koko ylittää 1K yhden päivän kuluttua.
/ oli / Hirsi / test.log {hänen root adm
kiertää 5
koko 1 k
puristaa
maxage 1
}
Suorita seuraava 'logrotate' -komento tallentaaksesi tulos toiseen lokitiedostoon nimeltä 'out.log':
$ sudo logrota -s = / oli / Hirsi / out.log / jne / tmp / logrotate.confSeuraavan lähdön mukaan 'out.log'-tiedosto luodaan 'logrotate'-komennon suorittamisen jälkeen:
Esimerkki 6: Logrotate Missingokin käyttö
Luo tai muokkaa /etc/tmp/logrotate.conf-tiedostoa seuraavilla asetuksilla. Tässä 'testfile.log'-lokitiedostoa ei ole '/var/log'-kansiossa.
/ oli / Hirsi / testfile.log {hänen root adm
kiertää 5
koko 1 k
puristaa
}
Virheilmoitus tulostetaan 'logrotate'-komennon suorittamisen jälkeen.
Lisää 'missingok'-asetus logrotate-määritystiedostoon ja suorita 'logrotate'-komento uudelleen. Puuttuneelle lokitiedostolle ei tulosteta virhettä.
Esimerkki 7: Logrotate Prerotate -toiminnon käyttö
Luo Bash-tiedosto nimeltä 'test.sh' seuraavalla komentosarjalla, joka tulostaa yksinkertaisen viestin. Tiedostoa käytetään tässä logrotate-esimerkissä esittämään esirotate-toiminnon käyttöä logrotate-määritystiedostossa.
test.sh#!/bin/bash
kaiku 'logrotate esimerkit...'
Kun olet luonut tiedoston, suorita seuraava komento asettaaksesi tämän tiedoston suoritusoikeudet kaikille käyttäjille:
$ chmod a+x / Koti / ymmärtäminen / test.shLuo tai muokkaa nyt tiedosto '/etc/tmp/logrotate.conf' seuraavilla asetuksilla. Asetusten mukaan logrotate säilyttää viisi lokimerkintää, jos lokitiedoston koko ylittää 1K ja 'test.sh'-tiedosto suoritetaan ennen kiertoa.
/ oli / Hirsi / test.log {hänen root adm
kiertää 5
koko 1 k
esikäännetty
/ Koti / ymmärtäminen / test.sh
loppukirjoitus
}
'Test.sh'-tiedoston tulos näytetään 'logrotate'-komennon suorittamisen jälkeen:
Johtopäätös
'logrotate'-komennon eri käyttötarkoitukset esitetään tässä opetusohjelmassa useilla esimerkeillä, jotka auttavat Linux-käyttäjää tuntemaan komennon käyttötarkoitukset ja hallitsemaan lokitiedostoja oikein.