Hvordan bruke Logrotate på Ubuntu
Logrotate er et verktøy for systemverktø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 loggfiler som bruker enorm diskplass. Logrotate brukes til å rotere, komprimere eller fjerne loggfiler automatisk for å spare diskplass. Noen funksjoner av Logrotate er nevnt her:
- Den aktiveres når loggfilstørrelsen blir stor og når til en bestemt grense.
- Det oppretter ny loggfil etter rotering av gamle filer.
- Den komprimerer loggfiler.
- Den utfører skallskript etter loggrotasjon.
- Den fjerner eldre roterte loggfiler for å spare diskplass.
I denne opplæringen lærer du hvordan du bruker dette verktøyet på Ubuntu 17.10.
Kontrollerer Logrotate-versjon
Logrotate er installert på Ubuntu som standard. Kjør følgende kommando for å kontrollere 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 bruksområder inkludere uttalelse for å hente konfigurasjonsinformasjon fra et annet sted. Et annet sted er en katalog som inneholder alle konfigurasjonsfiler for tjenester og applikasjoner og ligger i / etc / logrotate.d. Når en ny pakke installeres i systemet, blir loggrotasjonsinformasjonen for den pakken lagret på dette stedet.
Åpen logrotate.konf fra terminalen.
$ nano / etc / logrotate.konfFølgende innhold vises. Du kan rotere loggfiler hver time, daglig, ukentlig, månedlig og årlig. Her betyr ukentlig at loggfiler blir konfigurert ukentlig. Neste linje indikerer at loggfiler eies av root- og syslog-gruppebrukere. Roter 4 indikerer at Logrotate vil beholde 4 ukers sikkerhetskopiering av loggfiler, og tomme loggfiler blir opprettet etter rotering av gamle loggfiler. Hvis du angir rotere 0, fjernes alle gamle loggfiler. Hvis du vil komprimere loggfiler, er det bare å fjerne komprimeringslinjen ved å fjerne hash-symbolet.
Hvis du åpner katalogen til / etc / logrotate.d så 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 for konfigurasjonsinnstillinger. Noen av dem er forklart her. missingok indikerer at ingen feilmelding vil bli skrevet hvis loggfil mangler og varslet feil indikerer at hvis loggfilen er tom, vil den ikke rotere. Lag 644 rotrot brukes oppretter loggfiler umiddelbart etter rotasjonen, som rotbruker og brukergrupprot med spesifikk tillatelsesmodus.
$ nano / etc / logrotate.d / apache2
Opprette en eksempelkonfigurasjonsfil
Anta at du vil opprette en konfigurasjonsfil på stedet / hjem / ubuntu / logrotate.konf der innstillingene for logrotate vil bli satt som: loggfiler vil rotere hver måned, rotere i 10 ganger, komprimere, utelate feilmelding hvis noen loggfil mangler og opprette loggfil etter fjerning av gamle. Åpne hvilken som helst redaktør, legg til følgende innstillingsalternativer og lagre filen. Her, ubuntu er logget inn brukerens navn.
/ hjem / Ubuntu / logger / *.Loggmånedlig
missingok
roter 10
komprimere
skape
Kjør følgende kommando for å opprette en loggfil med navnet mylog.Logg og opprinnelig er loggfilen tom.
$ nano mylog.LoggKjør logrotate-kommandoen for å kontrollere at loggoppføringene er opprettet eller ikke.
$ logrotate / home / ubuntu / logrotate.conf --stat / home / ubuntu / logrotate-state --verboseFølgende utdata vises når du har 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 er generert ennå, 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 rotasjonsintervallet er satt som månedlig og tidsperioden ikke overskrides her.
$ logrotate / home / ubuntu / logrotate.conf --stat / hjem / ubuntu / logrotate-state--utdypende - kraft
Mange andre logrotate-alternativer er tilgjengelige for å konfigurere loggfiler. Du får listen over logrotate-alternativer etter at du har utført følgende kommando:
$ mann logrotate
Noen andre brukte for det meste logrotatealternativer, størrelse, copytruncate, postrotate, maxage og compresscmd. Disse alternativene blir kort forklart her.
størrelse:
Dette alternativet brukes til å angi grensen for loggfilstørrelse, og logrotate roterer loggfiler når filstørrelsen når eller overskrider grensen.
copytruncate:
Dette alternativet brukes til å lage en kopi av de opprinnelige loggfilene og avkutte den opprinnelige loggfilstørrelsen til 0. Slik at tjenesten knyttet til den aktuelle loggfilen kan skrive loggen ordentlig i originalfilen.
postrotate:
Dette alternativet brukes til å kjøre tilpasset skallskript etter fullført loggfilrotasjon.
maksimum:
Dette alternativet brukes til å stille inn varighet for lagring av gammel loggfilinformasjon. Den angir maksimale verdier i dager for å beholde loggfiler, og alle loggfiler vil bli fjernet når maksimumsverdiene overstiger.
compresscmd:
Du kan komprimere loggfiler ved å bruke forskjellige kommandoer. Dette alternativet brukes til å spesifisere typen komprimeringskommando.
Etter å ha lest denne opplæringen, vil du kunne bruke Logrotate med forskjellige alternativer for å administrere loggfilene dine riktig.
Mer informasjon
Logrotate Man Page