Linux-kommandolinjen i dybden · Lektion

Centraliseret logging og rotation med journald og logrotate

Hold automatiserede systemer sunde ved at læse systemd-logs med journalctl og forhindre logfiler i at fylde diske ved hjælp af logrotate.

Lektion 4 af 413 trin

Centraliseret logging og rotation med journald og logrotate er en gratis Linux-kommandolinjen i dybden-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-kommandolinjen i dybden, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.

Automatisering kræver logfiler

Cron-job, systemd-tjenester og shell-funktioner producerer alle output. For at køre systemer uden opsyn skal du opfange, søge i og rotere dette output. Her kommer journalctl og logrotate ind i billedet.

Hvad er journald?

systemd-journald indsamler logfiler fra tjenester, du administrerer med systemctl, i en struktureret binær journal, som du forespørger med journalctl.

Visning af logfiler

Almindelig journalctl viser alt; -e springer til slutningen (de nyeste poster).

journalctl -e

Filtrering efter tjeneste

-u begrænser journalen til én enhed, hvilket er perfekt til fejlfinding af en enkelt tjeneste.

journalctl -u nginx.service

Følg logfiler live

-f viser nye poster, efterhånden som de ankommer, ligesom tail -f til systemd.

journalctl -u nginx.service -f

Filtrering efter tid og prioritet

--since og -p begrænser resultaterne. Her viser vi fejl fra den seneste time.

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

Styring af journalens størrelse

Journaler kan blive store. --vacuum-size beskærer dem til en bestemt størrelse.

sudo journalctl --vacuum-size=200M

Logfiler i ren tekst og logrotate

Mange apps skriver stadig til /var/log/*.log. logrotate roterer, komprimerer og sletter disse efter en tidsplan, så diske ikke bliver fyldt.

cat /etc/logrotate.conf

En logrotate-regel

Læg en konfiguration i /etc/logrotate.d/. Denne roterer dagligt, beholder 7 kopier og komprimerer gamle kopier.

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

Test af logrotate

-d udfører en tørkørsel i fejlsøgningstilstand, som viser, hvad der ville ske, uden at ændre filer; -f gennemtvinger en øjeblikkelig rotation.

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

Knyt det til automatisering

Lad cron-job og funktioner skrive log til en dedikeret fil, administrér filen med en logrotate-regel, og brug journalctl til alt, der køres som en systemd-tjeneste. Så fylder intet disken uden at blive opdaget.

Hurtigt tjek

Hvilken indstilling i journalctl viser logfiler for en enkelt systemd-tjeneste?

Opsummering

Du kan gøre automatiserede systemer observerbare og velorganiserede:

  • journalctl -u, -f, --since, -p søger i systemd-logfiler
  • --vacuum-size reducerer journalets størrelse
  • logrotate roterer og komprimerer almindelige tekstlogfiler via /etc/logrotate.d/
  • logrotate -d testkører din konfiguration
Gratis at komme i gang

Lær Linux-kommandolinjen i dybden med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Centraliseret logging og rotation med journald og logrotate” gratis?

Ja — hele teksten til “Centraliseret logging og rotation med journald og logrotate” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-kommandolinjen i dybden-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Centraliseret logging og rotation med journald og logrotate”?

Hold automatiserede systemer sunde ved at læse systemd-logs med journalctl og forhindre logfiler i at fylde diske ved hjælp af logrotate. Du øver dig i Linux-kommandolinjen i dybden med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Linux-kommandolinjen i dybden?

Der kræves ingen tidligere erfaring. Linux-kommandolinjen i dybden på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Centraliseret logging og rotation med journald og logrotate”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Linux-kommandolinjen i dybden-lektion?

Ja. Alle Linux-kommandolinjen i dybden-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Planlægning af jobs: `cron` og `at`
  2. Håndtering af tjenester: `systemctl` (systemd)
  3. Automatisering af opgaver med shell-funktioner
  4. Centraliseret logging og rotation med journald og logrotate
← Tilbage til Linux-kommandolinjen i dybden