Bli ekspert på Linux-kommandolinjen · leksjon

Sentralisert logging og rotasjon med journald og logrotate

Hold automatiserte systemer sunne ved å lese systemd-logger med journalctl og hindre at loggfiler fyller diskene ved hjelp av logrotate.

Leksjon 4 av 413 trinn

Sentralisert logging og rotasjon med journald og logrotate er en gratis leksjon i Bli ekspert på Linux-kommandolinjen på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bli ekspert på Linux-kommandolinjen, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bli ekspert på Linux-kommandolinjen inneholder totalt 4 leksjoner.

Automatisering trenger logger

Cron-jobber, systemd-tjenester og shell-funksjoner produserer alle utdata. For å kjøre systemer uten tilsyn må De fange opp, søke i og rotere disse utdataene. Her kommer journalctl og logrotate inn.

Hva er journald?

systemd-journald samler logger fra tjenester De administrerer med systemctl, i en strukturert binærjournal som De søker i med journalctl.

Vise logger

Vanlig journalctl viser alt, mens -e hopper til slutten (de nyeste oppføringene).

journalctl -e

Filtrere etter tjeneste

-u begrenser journalen til én unit, noe som er perfekt for feilsøking av én enkelt tjeneste.

journalctl -u nginx.service

Følge logger direkte

-f strømmer inn nye oppføringer etter hvert som de kommer, omtrent som tail -f for systemd.

journalctl -u nginx.service -f

Filtrere etter tid og prioritet

--since og -p begrenser resultatene. Her viser vi feil fra den siste timen.

journalctl --since '1 hour ago' -p err

Kontrollere journalstørrelsen

Journaler kan bli store. --vacuum-size begrenser dem til en angitt størrelse.

sudo journalctl --vacuum-size=200M

Logger i ren tekst og logrotate

Mange apper skriver fortsatt til /var/log/*.log. logrotate roterer, komprimerer og sletter disse etter en tidsplan, slik at diskene ikke blir fulle.

cat /etc/logrotate.conf

En logrotate-regel

Legg en konfigurasjon i /etc/logrotate.d/. Denne roterer daglig, beholder 7 kopier og komprimerer gamle kopier.

/var/log/myapp/*.log {
  daily
  rotate 7
  compress
  missingok
  notifempty
}

Teste logrotate

-d kjører en tørrkjøring i feilsøkingsmodus som viser hva som ville skjedd, uten å endre filer. -f tvinger frem en umiddelbar rotering.

sudo logrotate -d /etc/logrotate.d/myapp

Knytte det til automatisering

La cron-jobber og funksjoner logge til en egen fil, administrer filen med en logrotate-regel, og bruk journalctl for alt som kjøres som en systemd-tjeneste. Da fyller ingenting disken i stillhet.

Hurtigsjekk

Hvilket journalctl-alternativ viser logger for én enkelt systemd-tjeneste?

Oppsummering

Du kan holde automatiserte systemer observerbare og ryddige:

  • journalctl -u, -f, --since, -p søker i systemd-loggene
  • --vacuum-size reduserer størrelsen på journalen
  • logrotate roterer og komprimerer logger i ren tekst via /etc/logrotate.d/
  • logrotate -d kjører konfigurasjonen i testmodus
Gratis å komme i gang

Lær deg Bli ekspert på Linux-kommandolinjen med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Sentralisert logging og rotasjon med journald og logrotate» gratis?

Ja – hele teksten i «Sentralisert logging og rotasjon med journald og logrotate» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bli ekspert på Linux-kommandolinjen-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bli ekspert på Linux-kommandolinjen inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sentralisert logging og rotasjon med journald og logrotate»?

Hold automatiserte systemer sunne ved å lese systemd-logger med journalctl og hindre at loggfiler fyller diskene ved hjelp av logrotate. Du øver på Bli ekspert på Linux-kommandolinjen med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Bli ekspert på Linux-kommandolinjen?

Ingen tidligere erfaring er nødvendig. Bli ekspert på Linux-kommandolinjen på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Sentralisert logging og rotasjon med journald og logrotate»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Bli ekspert på Linux-kommandolinjen-leksjonen?

Ja. Alle Bli ekspert på Linux-kommandolinjen-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Planlegging av jobber: `cron` og `at`
  2. Tjenestehåndtering: `systemctl` (systemd)
  3. Automatisere oppgaver med shell-funksjoner
  4. Sentralisert logging og rotasjon med journald og logrotate
← Tilbake til Bli ekspert på Linux-kommandolinjen