Log

Gestione dei log con systemd-journald

1. Introduzione

systemd-journald è il servizio responsabile della raccolta e gestione dei log di sistema nei sistemi Linux basati su systemd.

Con il tempo, i log possono occupare molto spazio su disco, specialmente su server o VPS che rimangono attivi a lungo. Questa guida mostra come:


2. Verificare lo spazio occupato dai log

Per vedere quanto spazio stanno occupando i log di journald:

journalctl --disk-usage

Esempio di output

Archived and active journals take up 1.8G in the file system.

3. Ruotare i log

Prima di eliminare i log vecchi è consigliato forzare la rotazione dei file correnti.

sudo journalctl --rotate

Questo comando crea nuovi file journal e archivia quelli attualmente in uso.


4. Pulire i log

4.1 Eliminare i log in base alla dimensione

Mantieni ad esempio solo 200 MB di log:

sudo journalctl --vacuum-size=200M

Puoi usare anche:


4.2 Eliminare i log più vecchi di un certo periodo

Mantieni solo gli ultimi 7 giorni:

sudo journalctl --vacuum-time=7d

Altri esempi:

sudo journalctl --vacuum-time=12h
sudo journalctl --vacuum-time=30d
sudo journalctl --vacuum-time=1month

4.3 Limitare il numero di file journal

Mantieni solo 5 file journal archiviati:

sudo journalctl --vacuum-files=5

5. Pulizia rapida con un comando

Ruota i log e mantieni solo 100 MB:

sudo journalctl --rotate && sudo journalctl --vacuum-size=100M

Oppure conserva solo gli ultimi 3 giorni:

sudo journalctl --rotate && sudo journalctl --vacuum-time=3d

6. Configurazione permanente

Per impostare limiti automatici modifica il file:

sudo nano /etc/systemd/journald.conf

Esempio di configurazione:

[Journal]
SystemMaxUse=500M
SystemKeepFree=100M
SystemMaxFileSize=50M
SystemMaxFiles=10
MaxRetentionSec=2week

Significato dei parametri

Parametro Descrizione
SystemMaxUse Spazio massimo totale usato dai log
SystemKeepFree Spazio libero minimo da lasciare sul disco
SystemMaxFileSize Dimensione massima di ogni file journal
SystemMaxFiles Numero massimo di file journal
MaxRetentionSec Tempo massimo di conservazione

Dopo la modifica riavvia il servizio:

sudo systemctl restart systemd-journald

7. Note importanti

Per verificare dove vengono salvati i log:

ls -ld /var/log/journal
ls -ld /run/log/journal

Suggerimento: su server piccoli o VPS con poco spazio disco, una combinazione comune è:

SystemMaxUse=200M
MaxRetentionSec=7day