Skip to content

Opgave 15 - Logrotation i Linux

Formål

Formålet med denne øvelse er at forstå og anvende logrotation i Linux. Logrotation hjælper med at håndtere og optimere logfiler, så de ikke fylder for meget og forårsager pladsproblemer.

Ved at konfigurere logrotation korrekt kan systemadministratorer: - Automatisere håndteringen af store logfiler. - Forhindre, at logfiler fylder disken op. - Sikre, at ældre logs bliver arkiveret eller slettet efter behov.

Denne øvelse vil give praktisk erfaring med at konfigurere og teste logrotation i Ubuntu.

Information

Logrotation er en vigtig del af systemadministration, da den sikrer, at logfiler ikke vokser ukontrolleret og optager al diskplads. Logrotate er et værktøj, der håndterer denne proces automatisk ved at rotere, komprimere, slette eller arkivere gamle logfiler.

Logrotation fungerer ved at:

  • Omdøbe den nuværende logfil og starte en ny.
  • Bevare et bestemt antal backlog-filer før de slettes eller arkiveres.
  • Automatisere processen baseret på tid eller filstørrelse.
  • Anvende komprimering, hvis konfigureret, for at spare plads.

For eksempel kan auth.log roteres ugentligt og omdøbes til auth.log.1, mens en ny auth.log oprettes. Efter flere rotationer kan ældre filer blive slettet eller arkiveret.

Når der løbende bliver indsamlet logs, kan logfiler blive meget store og optage unødvendig plads på lagermediet. For at undgå dette kan logs roteres med faste intervaller, f.eks. hver tredje uge.

Når auth.log roteres, omdøbes den til auth.log.1, og en ny auth.log oprettes til nye logs. auth.log.1 bliver en backlog-fil, som kan arkiveres eller slettes, hvis retention-perioden er overskredet.

Formålet med denne øvelse er at demonstrere, hvordan grundlæggende logrotation fungerer med Rsyslog.

Instruktioner

I disse opgaver skal der arbejdes med logrotation i Linux (Ubuntu).

Du kan finde hjælp i Ubuntu man page til logrotate.

1. Opsætning af logrotation

  1. Åbn konfigurationsfilen for logrotation:
    sudo nano /etc/logrotate.conf
    
  2. Find linjen, der angiver rotationsintervallet, og ændr den til daglig rotation:
    daily
    
  3. Find linjen, der angiver, hvor mange backlog-filer der gemmes, og ændr den til 8 uger:
    rotate 8
    
  4. Gem og luk filen (CTRL + X, derefter Y og Enter).

2. Test logrotation manuelt

For at sikre, at ændringerne fungerer, kan du manuelt udløse en logrotation:

  1. Tving logrotation:
    sudo logrotate -f /etc/logrotate.conf
    
  2. Tjek, om auth.log blev roteret:
    ls -l /var/log/auth.log*
    

3. Rotation baseret på filstørrelse

I stedet for tidsbaseret rotation kan logs også roteres baseret på filstørrelse. Prøv at tilføje følgende i konfigurationsfilen:

size 50M
Dette sikrer, at logfilen roteres, når den når 50 MB.

4. Refleksion

💡 Refleksionsopgaver:

  • Hvorfor er det vigtigt at rotere logs regelmæssigt?
  • Hvad sker der, hvis logfiler aldrig bliver roteret?
  • Hvornår giver det mening at bruge størrelsesbaseret rotation fremfor tidsbaseret rotation?