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.
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 -eFiltrering efter tjeneste
-u begrænser journalen til én enhed, hvilket er perfekt til fejlfinding af en enkelt tjeneste.
journalctl -u nginx.serviceFølg logfiler live
-f viser nye poster, efterhånden som de ankommer, ligesom tail -f til systemd.
journalctl -u nginx.service -fFiltrering efter tid og prioritet
--since og -p begrænser resultaterne. Her viser vi fejl fra den seneste time.
journalctl --since '1 hour ago' -p errStyring af journalens størrelse
Journaler kan blive store. --vacuum-size beskærer dem til en bestemt størrelse.
sudo journalctl --vacuum-size=200MLogfiler 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.confEn 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/myappKnyt 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,-psøger i systemd-logfiler--vacuum-sizereducerer journalets størrelselogrotateroterer og komprimerer almindelige tekstlogfiler via/etc/logrotate.d/logrotate -dtestkører din konfiguration
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
- Planlægning af jobs: `cron` og `at`
- Håndtering af tjenester: `systemctl` (systemd)
- Automatisering af opgaver med shell-funktioner
- Centraliseret logging og rotation med journald og logrotate