Logrotate Ubuntu Tutorial

Logrotate Ubuntu Tutorial

Hvordan bruke logrotat på Ubuntu

Logrotate er et systemverktøyverktøy som brukes til å administrere loggfiler på Ubuntu. Når et stort antall servere håndteres av et hvilket som helst system, genereres et stort volum av loggfiler som bruker enormt diskplass. Logrotate brukes til å rotere, komprimere eller fjerne loggfiler automatisk for å lagre diskplassen. Noen funksjoner av logrotate er nevnt her:

  • Den aktiveres når loggfilstørrelse blir stor og når til en bestemt grense.
  • Den oppretter ny loggfil etter å ha rotert gamle filer.
  • Det komprimerer loggfiler.
  • Det utfører skallskript etter loggrotasjon.
  • Den fjerner eldre roterte loggfiler for å lagre diskplass.

I denne opplæringen lærer du hvordan du bruker dette verktøyet på Ubuntu 17.10.

Kontroller Logrotate -versjonen

Logrotate er installert på Ubuntu som standard. Kjør følgende kommando for å sjekke at den er installert eller ikke. Her er versjonen av Logrotate 3.11.0.

$ logrotate

Logrotate -konfigurasjonsfiler

Konfigurasjonsinformasjonen til Logrotate lagres to steder. En av dem er hovedkonfigurasjonsfilen som ligger i /etc/logrotate.konf. Den inneholder standardinnstillinger og bruk inkludere uttalelse for å hente konfigurasjonsinformasjon fra et annet sted. Et annet sted er en katalog som inneholder alle service- og applikasjonskonfigurasjonsfiler og ligger i /etc/logrotate.d. Når en ny pakke installeres i systemet, lagres loggrotasjonsinformasjonen for den pakken på dette stedet.

Åpen Logrotate.konf fra terminalen.

$ nano /etc /logrotate.konf

Følgende innhold vises. Du kan rotere loggfiler hver time, daglig, ukentlig, månedlig og årlig. Her betyr ukentlig at loggfiler vil bli konfigurert ukentlig. Neste linje indikerer at loggfiler eies av Root- og Syslog Group -brukere. Rotate 4 indikerer at logrotat vil holde 4 ukers loggfiler sikkerhetskopi og tomme loggfiler vil bli opprettet etter å ha rotert gamle loggfiler. Hvis du angir Rotate 0, blir alle gamle loggfiler fjernet. Hvis du vil komprimere loggfiler, er det bare å ikke komprimere komprimeringslinjen ved å fjerne hash -symbolet.

Hvis du åpner katalogen til /etc/logrotate.d Da vises følgende liste som inneholder andre logrotate konfigurasjonsfiler.

$ ls /etc /logrotate.d

Kjør kommandoen for å åpne Apache2 -konfigurasjonsfilen. Det er mange typer regler som brukes til konfigurasjonsinnstillinger. Noen av dem er forklart her. Missingok indikerer at det ikke vil bli skrevet noen feilmelding hvis loggfil mangler og varsle om indikerer at hvis loggfilen er tom, vil den ikke rotere. Lag 644 rotrot brukes Opprett loggfiler umiddelbart etter rotasjonen, som rotbruker og brukergrupperot med spesifikk tillatelsesmodus.

$ nano /etc /logrotate.d/apache2

Opprette en eksempler på konfigurasjonsfilen

Anta at du vil opprette en konfigurasjonsfil på stedet /Hjem/Ubuntu/Logrotate.konf Der innstillingene for logrotat vil bli angitt som: loggfiler vil rotere månedlig, rotere i 10 ganger, komprimere, utelate feilmelding hvis noen loggfil mangler og opprette loggfil etter å ha fjernet gamle. Åpne hvilken som helst redaktør, legg til følgende innstillingsalternativer og lagre filen. Her, Ubuntu er logget på brukerens navn.

/hjemme/ubuntu/logger/*.Logg
månedlig
Missingok
roter 10
komprimere
skape

Kjør følgende kommando for å opprette en loggfil som heter Mylog.Logg og først er loggfilen tom.

$ nano mylog.Logg

Kjør Logrotate -kommandoen for å sjekke loggoppføringene er opprettet eller ikke.

$ Logrotate/Home/Ubuntu/Logrotate.Conf-State/Home/Ubuntu/Logrotate-State-Verbose

Følgende utgang vises etter å ha utført kommandoen ovenfor for første gang.

Nå åpen Logrotate-state fil for å undersøke hvilken som er lagt til i filen. Siden ingen loggfiler genereres ennå, så vil følgende utdata vises.

$ Nano Home/Ubuntu/Logrotate-State

Kjør følgende kommando for å rotere loggfilen kraftig. Men ingen endring vil vises her i henhold til forrige utgang fordi rotasjonsintervall er satt som månedlig og tidsperioden ikke overskrides her.

$ Logrotate/Home/Ubuntu/Logrotate.Conf-State/Home/Ubuntu/Logrotate-State
--Verbose -Force

Mange andre logrotatalternativer er tilgjengelige for å konfigurere loggfiler. Du får listen over logrotatalternativer etter å ha utført følgende kommando:

$ mann logrotate

Noen andre for det meste brukte logrotatalternativer er, størrelse, copyTruncate, postrotate, maxage og compresscmd. Disse alternativene er snart forklart her.

størrelse:

Dette alternativet brukes til å angi grensen for loggfilstørrelse og logrotat vil rotere loggfiler når filstørrelsen når eller overstiger grensen.

CopyTruncate:

Dette alternativet brukes til å opprette en kopi av de originale loggfilene og avkutte den opprinnelige loggfilstørrelsen til 0. Slik at tjenesten relatert til den aktuelle loggfilen kan skrive logg ordentlig i den opprinnelige filen.

postrotat:

Dette alternativet brukes til å kjøre tilpasset skallskript etter å ha fullført loggfilrotasjon.

MAXAGE:

Dette alternativet brukes til å angi tidsvarighet for lagring av gammel loggfilinformasjon. Den angir maksimale verdier i dagene for å oppbevare loggfiler, og alle loggfiler vil bli fjernet når maksageverdiene overstiger.

kompresscmd:

Du kan komprimere loggfiler ved å bruke forskjellige kommandoer. Dette alternativet brukes til å spesifisere typen kompresjonskommando.

Etter å ha lest denne opplæringen, vil du kunne bruke Logrotate med forskjellige alternativer for å administrere loggfilene dine riktig.

Mer informasjon

Logrotate Man -siden