Eksempler på Linux Logrotate

Eksempler Pa Linux Logrotate



Logginformasjon er en svært viktig del av ethvert operativsystem for å diagnostisere problemet med et program som kjører, og loggoppføringene hjelper deg med å finne løsningen på problemet. De fleste applikasjonene til Linux-operativsystemet genererer loggen og systemadministratoren får den nødvendige informasjonen om applikasjonen fra loggoppføringene. Imidlertid skaper loggoppføringene noen ganger problemer fordi størrelsen på oppføringene blir større med tiden. Så loggoppføringene er nødvendige for å administrere.

Logrotate er et kommandolinjeverktøy i Linux for å administrere loggoppføringene. Dette verktøyet hjelper til med å utføre forskjellige typer oppgaver på loggoppføringer av administratoren, som å begrense de roterte loggfilene, komprimere de roterte loggfilene, slette unødvendige loggfilene, utføre det spesielle shell-skriptet basert på loggfilene, etc. Bruksområdene av 'logrorate'-kommandoen for å administrere loggfilene på forskjellige måter, vises i denne opplæringen ved hjelp av flere eksempler.

Sjekk den installerte Logrotate-versjonen

Kommandoen 'logrotate' er installert som standard i den nye versjonen av Ubuntu-operativsystemet. Kjør følgende kommando for å sjekke den installerte versjonen av 'logrotate'-kommandoen:







$ logrotere --versjon



Loggoppføringene til de forskjellige applikasjonene lagres som standard i mappen '/var/log'. Følgende lignende innhold vises hvis du sjekker innholdet i mappen.



$ ls / var / Logg





Still inn 'Logrotate'-konfigurasjonen

Innstillingsverdi Hensikt
daglig/ukentlig/månedlig/årlig Den definerer varigheten for å rotere loggene.
rotere nummer Den definerer antall filer som skal beholdes før de gamle loggfilene fjernes.
komprimere Den brukes til å komprimere loggfilene.
compresscmd Den brukes til å angi 'komprimere'-kommandoen. gzip er standardkommandoen.
uncompresscmd Den brukes til å angi 'uncompress'-kommandoen. Gunzip er standardkommandoen.
forsinkelseskomprimering Den brukes til å forsinke komprimeringsprosessen av loggfilene.
varsel tom Den brukes til å ikke rotere den tomme filen.
jeg savner Hvis det er satt, genereres det ingen feil for de manglende loggfilene.
størrelse Den brukes til å sette grensen for å begynne å rotere loggfilene.
dateext Den brukes til å legge til en datoverdi som et suffiks til den roterende filen.
copytruncate Den brukes til å lage en kopi av originalfilen.
forhåndsrotert Den brukes til å kjøre et skript før loggfilene roteres.
etterrotere Den brukes til å kjøre et skript etter å ha rotert loggfilene.
skape Den brukes til å lage loggfilene med et root-privilegium.

Syntaks:

Syntaksen til 'logrotate'-kommandoen er gitt som følger:



logrotere [ ALTERNATIV ] config_file_path

Ulike typer alternativer kan brukes til forskjellige formål med 'logrotate'-kommandoen.

Loggroter alternativer

Noen nyttige alternativer for 'logrotate'-kommandoen er nevnt i følgende:

-f, –kraft Den brukes til å gjøre rotasjonen kraftig når det er nødvendig.
-d, –feilsøke Den brukes til å aktivere feilsøkingsmodusen under rotasjonen.
-m, –mail Den brukes til å sende en e-post under rotasjonen.
-s, –stat Den brukes til alternative tilstandsfiler.
-bruk Den brukes til å skrive ut bruksinformasjonen.
-?, -hjelp Den brukes til å skrive ut hjelpemeldinger.
-v, –verbose Den brukes til å skrive ut i detaljert modus.

Loggroter konfigurasjonsfil

Hovedkonfigurasjonsfilen for logrotate er plassert på '/etc/logrotate.conf'-plasseringen. Kjør følgende kommando for å åpne filen i nano-editoren:

$ nano / etc / logrotate.conf

Standardinnstillingen for 'logrotate'-kommandoen vises i 'logrotate.conf'-filen. 'inkluder'-direktivet brukes i filen for å hente konfigurasjonen som ligger i '/etc/logrotate.d'-katalogen.

Eksempel 1: Lag en enkel loggrotert konfigurasjonsfil

Opprett en eksempelloggfil kalt '/var/log/test.log' med eksempelloggdataene. Kjør følgende kommando for å åpne nano-editoren for å lage en ny 'logrotate.conf'-fil i mappen '/etc/tmp'. Opprett mappen '/tmp' med root-privilegier hvis den ikke er opprettet før.

$ nano / etc / tmp / logrotate.conf

Legg til følgende innhold i filen for '/var/log/test.log'-filen. I henhold til innstillingen vil 'test.log'-filen roteres daglig hvis filstørrelsen overstiger 5K:

/ var / Logg / test.log {

daglig

størrelse 5K

hans root adm

}

Kjør følgende kommando for å sjekke størrelsen på loggfilen:

$ ls -l / var / Logg / test.log

Kjør 'logrotate'-kommandoen etter å ha opprettet konfigurasjonsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kjør følgende kommando igjen for å sjekke størrelsen på loggfilen etter å ha utført kommandoen 'logrotate':

$ ls -l / var / Logg / test.log

Størrelsen på 'test.log'-filen er 1K+. Så ingen rotasjon utføres basert på konfigurasjonsinnstillingen.

Endre størrelsesverdien til 1K i '/etc/tmp/logrotate.conf'-filen og kjør 'ls'-kommandoen på nytt for å sjekke filstørrelsen til '/var/log/test.log'. I henhold til utdata blir loggfilen rotert og slettet fordi størrelsesgrensen er overskredet.

Eksempel 2: Bruk av Logrotate Copytruncate

Opprett eller modifiser filen '/etc/tmp/logrotate.conf' med følgende innstillinger for å vise bruken av copytruncate. I henhold til nye innstillinger, oppretter logrotate en kopi av den originale filen ved å gjøre den opprinnelige filstørrelsen til null.

/ var / Logg / test.log {

rotere 5

størrelse 1 k

copytruncate

hans root adm

}

Kjør følgende kommando for å sjekke størrelsen på 'test.log'-filen:

$ ls -l / var / Logg / test.log

Kjør 'logrotate'-kommandoen etter å ha opprettet konfigurasjonsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kjør følgende kommando igjen for å sjekke størrelsen på 'test.log'-filen etter å ha utført kommandoen 'logrotate':

$ ls -l / var / Logg / test.log

Den opprinnelige filstørrelsen blir 0 etter å ha utført kommandoen 'logrotate' for copytruncate-innstillingen.

Eksempel 3: Bruk av Logrotate Compress

Opprett eller modifiser '/etc/tmp/logrotate.conf'-filen med følgende innstillinger for å vise bruken av komprimeringen. I henhold til de nye innstillingene, oppretter logrotate en komprimeringsfil av den opprinnelige filen.

/ var / Logg / test.log {

rotere 5

størrelse 1 k

komprimere

skape 770 root adm

}

Kjør følgende kommando for å sjekke listen over filene og mappene til '/var/log':

$ ls / var / Logg /

Kjør 'logrotate'-kommandoen etter å ha opprettet konfigurasjonsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kjør følgende kommando igjen for å sjekke listen over filene og mappene til '/var/log':

$ ls / var / Logg /

Den komprimerte filen til 'test.log'-filen opprettes med navnet 'test.log.1.gz', og den originale filen fjernes.

Eksempel 4: Bruk av Logrotate Dateext

Opprett eller modifiser '/etc/tmp/logrotate.conf'-filen med følgende innstillinger for å vise bruken av dateext. I henhold til de nye innstillingene oppretter logrotate en komprimeringsfil av den opprinnelige filen med datoverdien.

var / Logg / test.log {

hans root adm

rotere 5

størrelse 1 k

komprimere

skape 770 root adm

dateext

}

Kjør 'logrotate'-kommandoen etter å ha opprettet konfigurasjonsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kjør følgende kommando for å sjekke listen over filene og mappene til '/var/log':

$ ls -l / var / Logg /

Den komprimerte filen til 'test.log'-filen opprettes med navnet 'test.log.20240129.gz', og den opprinnelige filen fjernes.

Eksempel 5: Bruk av Logrotate Maxage

Opprett eller modifiser filen '/etc/tmp/logrotate.conf' med følgende innstillinger for å vise bruken av maks. I henhold til innstillingene beholder logrotate fem loggoppføringer hvis størrelsen på loggfilen overstiger 1K etter en dag.

/ var / Logg / test.log {

hans root adm

rotere 5

størrelse 1 k

komprimere

maks 1

}

Kjør følgende 'logrotate'-kommando for å lagre utdataene i en annen loggfil kalt 'out.log':

$ sudo logrotere -s = / var / Logg / ut.logg / etc / tmp / logrotate.conf

I henhold til følgende utdata, opprettes 'out.log'-filen etter å ha utført kommandoen 'logrotate':

Eksempel 6: Bruk av Logrotate Missingok

Opprett eller modifiser filen '/etc/tmp/logrotate.conf' med følgende innstillinger. Her eksisterer ikke loggfilen 'testfile.log' i mappen '/var/log'.

/ var / Logg / testfil.log {

hans root adm

rotere 5

størrelse 1 k

komprimere

}

En feilmelding skrives ut etter å ha utført kommandoen 'logrotate'.

Legg til 'missingok'-innstillingen i logrotate-konfigurasjonsfilen og kjør kommandoen 'logrotate' igjen. Ingen feil skrives ut for den manglende loggfilen.

Eksempel 7: Bruk av Logrotate Prerotate

Lag en Bash-fil med navnet 'test.sh' med følgende skript som skriver ut en enkel melding. Filen brukes i dette logrotate-eksemplet for å vise bruken av prerotate i logrotate-konfigurasjonsfilen.

test.sh



#!/bin/bash

ekko 'logroter eksempler ...'

Etter å ha opprettet filen, kjør følgende kommando for å angi utførelsestillatelsen for denne filen for alle brukere:

$ chmod a+x / hjem / forståelse / test.sh

Opprett eller modifiser nå filen '/etc/tmp/logrotate.conf' med følgende innstillinger. I henhold til innstillingene beholder logrotate fem loggoppføringer hvis størrelsen på loggfilen overstiger 1K og 'test.sh'-filen kjøres før rotasjonen.

/ var / Logg / test.log {

hans root adm

rotere 5

størrelse 1 k

forhåndsrotert

/ hjem / forståelse / test.sh

sluttskrift

}

Utdataene fra 'test.sh'-filen vises etter å ha utført kommandoen 'logrotate':

Konklusjon

De ulike bruksområdene for 'logrotate'-kommandoen vises i denne opplæringen ved å bruke flere eksempler som vil hjelpe Linux-brukeren å kjenne til bruken av kommandoen og administrere loggfilene riktig.