Linux Logrotate eksempler

Linux Logrotate Eksempler



Logoplysninger er en meget vigtig del af ethvert operativsystem til at diagnosticere problemet med enhver kørende applikation, og logposterne hjælper med at finde ud af løsningen på problemet. De fleste af Linux-operativsystemets applikationer genererer loggen, og systemadministratoren får de nødvendige oplysninger om applikationen fra logposterne. Logposterne skaber dog nogle gange problemer, fordi størrelsen af ​​posterne bliver større med tiden. Så logposterne er nødvendige for at administrere.

Logrotate er et kommandolinjeværktøj i Linux til at administrere logposterne. Dette værktøj hjælper med at udføre forskellige typer opgaver på logposter af administratoren, såsom at begrænse de roterede logfiler, komprimere de roterede logfiler, slette de unødvendige logfiler, udføre det særlige shell-script baseret på logfilerne osv. Anvendelser af kommandoen 'logrorate' til at administrere logfilerne på forskellige måder er vist i denne vejledning ved hjælp af flere eksempler.

Tjek den installerede Logrotate-version

Kommandoen 'logrotate' er installeret som standard i den nye version af Ubuntu-operativsystemet. Kør følgende kommando for at kontrollere den installerede version af kommandoen 'logrotate':







$ logrotere --version



Logposterne for de forskellige applikationer gemmes som standard i mappen '/var/log'. Følgende lignende indhold vises, hvis du tjekker indholdet af mappen.



$ ls / var / log





Indstil 'Logrotate'-konfigurationen

Indstillingsværdi Formål
dagligt/ugentlig/månedligt/årligt Det definerer varigheden af, hvor længe logfilerne skal roteres.
rotere nummer Det definerer antallet af filer, der vil blive opbevaret, før de gamle logfiler fjernes.
komprimere Det bruges til at komprimere logfilerne.
compresscmd Den bruges til at indstille kommandoen 'komprimere'. gzip er standardkommandoen.
uncompresscmd Den bruges til at indstille kommandoen 'uncompress'. Gunzip er standardkommandoen.
forsinkelseskomprimering Det bruges til at forsinke komprimeringsprocessen af ​​logfilerne.
meddelelse tom Det bruges til ikke at rotere den tomme fil.
Jeg mangler Hvis det er indstillet, genereres der ingen fejl for de manglende logfiler.
størrelse Den bruges til at indstille grænsen for at begynde at rotere logfilerne.
dateext Det bruges til at tilføje en datoværdi som et suffiks til den roterende fil.
copytruncate Det bruges til at oprette en kopi af den originale fil.
forroteret Det bruges til at køre et script, før logfilerne roteres.
efterrotere Det bruges til at køre et script efter at have roteret logfilerne.
skab Det bruges til at oprette logfiler med et root-privilegium.

Syntaks:

Syntaksen for kommandoen 'logrotate' er givet som følger:



logrotere [ MULIGHED ] config_file_path

Forskellige typer muligheder kan bruges til forskellige formål med kommandoen 'logrotate'.

Logroter indstillinger

Nogle nyttige muligheder for kommandoen 'logrotate' er nævnt i det følgende:

-f, –kraft Det bruges til at udføre rotationen kraftigt, når det er nødvendigt.
-d, -fejlfinde Det bruges til at aktivere fejlfindingstilstanden under rotationen.
-m, –mail Den bruges til at sende en e-mail under rotationen.
-s, –state Det bruges til alternative tilstandsfiler.
-brug Det bruges til at udskrive brugsoplysningerne.
-?, -Hjælp Det bruges til at udskrive hjælpemeddelelserne.
-v, –udtalt Det bruges til at udskrive i verbose tilstand.

Logroter konfigurationsfil

Den primære logrotate-konfigurationsfil er placeret på “/etc/logrotate.conf”-placeringen. Kør følgende kommando for at åbne filen i nano-editoren:

$ nano / etc / logrotate.conf

Standardindstillingen for kommandoen 'logrotate' vises i filen 'logrotate.conf'. 'include'-direktivet bruges i filen til at hente den konfiguration, der er placeret i mappen '/etc/logrotate.d'.

Eksempel 1: Opret en simpel Logrotate-konfigurationsfil

Opret en prøvelogfil med navnet '/var/log/test.log' med prøvelogdataene. Kør følgende kommando for at åbne nano-editoren for at oprette en ny 'logrotate.conf'-fil i mappens '/etc/tmp'-placering. Opret mappen '/tmp' med root-rettigheder, hvis den ikke er oprettet før.

$ nano / etc / tmp / logrotate.conf

Tilføj følgende indhold til filen for filen '/var/log/test.log'. Ifølge indstillingen vil 'test.log'-filen blive roteret dagligt, hvis filstørrelsen overstiger 5K:

/ var / log / test.log {

daglige

størrelse 5K

hans rod adm

}

Kør følgende kommando for at kontrollere størrelsen på logfilen:

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

Kør kommandoen 'logrotate' efter oprettelse af konfigurationsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kør følgende kommando igen for at kontrollere størrelsen på logfilen efter at have udført kommandoen 'logrotate':

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

Størrelsen på 'test.log'-filen er 1K+. Så der udføres ingen rotation baseret på konfigurationsindstillingen.

Skift størrelsesværdien til 1K i filen '/etc/tmp/logrotate.conf', og kør kommandoen 'ls' igen for at kontrollere filstørrelsen for '/var/log/test.log'. Ifølge outputtet roteres og slettes logfilen, fordi størrelsesgrænsen er overskredet.

Eksempel 2: Brug af Logrotate Copytruncate

Opret eller modificer filen '/etc/tmp/logrotate.conf' med følgende indstillinger for at vise brugen af ​​copytruncate. Ifølge de nye indstillinger opretter logrotate en kopi af den originale fil ved at gøre den originale filstørrelse til nul.

/ var / log / test.log {

rotere 5

størrelse 1 k

copytruncate

hans rod adm

}

Kør følgende kommando for at kontrollere størrelsen på filen 'test.log':

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

Kør kommandoen 'logrotate' efter oprettelse af konfigurationsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kør følgende kommando igen for at kontrollere størrelsen på filen 'test.log' efter at have udført kommandoen 'logrotate':

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

Den originale filstørrelse bliver 0 efter at have udført kommandoen 'logrotate' for indstillingen copytruncate.

Eksempel 3: Brug af Logrotate Compress

Opret eller modificer filen '/etc/tmp/logrotate.conf' med følgende indstillinger for at vise brugen af ​​komprimeringen. Ifølge de nye indstillinger opretter logrotate en komprimeringsfil af den originale fil.

/ var / log / test.log {

rotere 5

størrelse 1 k

komprimere

skab 770 rod adm

}

Kør følgende kommando for at kontrollere listen over filer og mapper i '/var/log':

$ ls / var / log /

Kør kommandoen 'logrotate' efter oprettelse af konfigurationsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kør følgende kommando igen for at kontrollere listen over filer og mapper i '/var/log':

$ ls / var / log /

Den komprimerede fil i 'test.log'-filen oprettes med navnet 'test.log.1.gz', og den originale fil fjernes.

Eksempel 4: Brug af Logrotate Dateext

Opret eller modificer filen '/etc/tmp/logrotate.conf' med følgende indstillinger for at vise brugen af ​​dateext. Ifølge de nye indstillinger opretter logrotate en komprimeringsfil af den originale fil med datoværdien.

var / log / test.log {

hans rod adm

rotere 5

størrelse 1 k

komprimere

skab 770 rod adm

dateext

}

Kør kommandoen 'logrotate' efter oprettelse af konfigurationsfilen.

$ sudo logrotere / etc / tmp / logrotate.conf

Kør følgende kommando for at kontrollere listen over filer og mapper i '/var/log':

$ ls -l / var / log /

Den komprimerede fil i 'test.log'-filen oprettes med navnet 'test.log.20240129.gz', og den originale fil fjernes.

Eksempel 5: Brug af Logrotate Maxage

Opret eller modificer filen '/etc/tmp/logrotate.conf' med følgende indstillinger for at vise brugen af ​​maxage. Ifølge indstillingerne beholder logrotate fem logposter, hvis størrelsen af ​​logfilen overstiger 1K efter en dag.

/ var / log / test.log {

hans rod adm

rotere 5

størrelse 1 k

komprimere

maxage 1

}

Kør følgende 'logrotate'-kommando for at gemme outputtet i en anden logfil ved navn 'out.log':

$ sudo logrotere -s = / var / log / ud.log / etc / tmp / logrotate.conf

Ifølge følgende output oprettes 'out.log'-filen efter at have udført kommandoen 'logrotate':

Eksempel 6: Brug af Logrotate Missingok

Opret eller rediger filen '/etc/tmp/logrotate.conf' med følgende indstillinger. Her findes 'testfile.log'-logfilen ikke i mappen '/var/log'.

/ var / log / testfil.log {

hans rod adm

rotere 5

størrelse 1 k

komprimere

}

En fejlmeddelelse udskrives efter udførelse af kommandoen 'logrotate'.

Tilføj 'missingok'-indstillingen i logrotate-konfigurationsfilen, og kør kommandoen 'logrotate' igen. Der udskrives ingen fejl for den manglende logfil.

Eksempel 7: Brug af Logrotate Prerotate

Opret en Bash-fil med navnet 'test.sh' med følgende script, der udskriver en simpel besked. Filen bruges i dette logrotate eksempel til at vise brugen af ​​prerotate i logrotate konfigurationsfilen.

test.sh



#!/bin/bash

ekko 'logrotere eksempler...'

Når du har oprettet filen, skal du køre følgende kommando for at indstille udførelsestilladelsen for denne fil for alle brugere:

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

Opret eller rediger nu filen '/etc/tmp/logrotate.conf' med følgende indstillinger. Ifølge indstillingerne beholder logrotate fem logposter, hvis størrelsen af ​​logfilen overstiger 1K, og 'test.sh'-filen udføres før rotationen.

/ var / log / test.log {

hans rod adm

rotere 5

størrelse 1 k

forroteret

/ hjem / forståelse / test.sh

slutskrift

}

Outputtet af 'test.sh'-filen vises efter udførelse af 'logrotate'-kommandoen:

Konklusion

De forskellige anvendelser af kommandoen 'logrotate' er vist i denne tutorial ved hjælp af flere eksempler, der vil hjælpe Linux-brugeren til at kende brugen af ​​kommandoen og administrere logfilerne korrekt.