Wiki di Michele

journalctl

GuidaUltima modifica: 24/10/2026 Verificata il 24/10/2026

journalctl legge il journal di systemd, cioè i log raccolti da systemd-journald: kernel, servizi, avvio del sistema e applicazioni.

Sintassi

journalctl [opzioni] [filtri]

Per leggere tutti i log servono i permessi di root oppure l'appartenenza al gruppo systemd-journal o adm.

Esempi base

Tutti i log, dal più vecchio:

journalctl

Dal più recente:

journalctl -r

Saltare direttamente alla fine:

journalctl -e

Seguire i log in tempo reale (come tail -f):

journalctl -f

Ultime 50 righe:

journalctl -n 50

Filtrare per servizio

journalctl -u nginx.service
journalctl -u nginx -u php-fpm
journalctl -u nginx -f

Filtrare per avvio (boot)

Log dell'avvio corrente:

journalctl -b

Avvio precedente (utile dopo un crash o un riavvio improvviso):

journalctl -b -1

Elenco degli avvii registrati:

journalctl --list-boots

Filtrare per tempo

journalctl --since "2026-10-24 08:00" --until "2026-10-24 12:00"
journalctl --since "1 hour ago"
journalctl --since yesterday
journalctl --since today

Filtrare per priorità

LivelloNome
0emerg
1alert
2crit
3err
4warning
5notice
6info
7debug
journalctl -p err
journalctl -p warning..err
journalctl -b -p err

-p err mostra gli errori e i livelli più gravi.

Messaggi del kernel

journalctl -k
journalctl -k -b

Equivale a dmesg, ma con timestamp e storico.

Filtrare per altri campi

journalctl _UID=1000
journalctl _PID=1234
journalctl /usr/bin/sshd
journalctl -t sudo

Formato di output

journalctl -o short-iso
journalctl -o json-pretty
journalctl -o cat

-o cat stampa solo il messaggio, senza timestamp né nome host.

Per evitare che le righe lunghe vengano tagliate:

journalctl --no-pager
journalctl -u nginx --no-pager | less -S

Cercare un testo

journalctl -g "failed"
journalctl -u ssh -g "Failed password"

-g usa le espressioni regolari (grep integrato).

Gestire lo spazio occupato

Vedere quanto occupa il journal:

journalctl --disk-usage

Ridurlo:

sudo journalctl --vacuum-size=500M
sudo journalctl --vacuum-time=2weeks

Per rendere il limite permanente, modifica /etc/systemd/journald.conf:

[Journal]
SystemMaxUse=500M

Poi riavvia il servizio:

sudo systemctl restart systemd-journald

Rendere persistenti i log

Se /var/log/journal non esiste, i log vengono persi a ogni riavvio. Per conservarli:

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

Casi d'uso tipici

Un servizio non parte:

systemctl status nome.service
journalctl -u nome.service -b -e

Tentativi di accesso SSH falliti:

journalctl -u ssh -g "Failed" --since today

Cosa è successo prima di un riavvio inatteso:

journalctl -b -1 -e

Tag

amministrazione-di-sistemacomandilinux

Pagine che parlano di questa

Altre pubblicazioni in questa sezione

Suggerisci una correzione