Linux con systemd: leggere stato del servizio e journal per la diagnosi

Un servizio non parte o una funzione fallisce? Stato e registri del momento aiutano prima che un riavvio cambi gli indizi. La guida riguarda systemd. example.service è un segnaposto per il servizio realmente interessato.

Passaggi

  1. Annota ora, fuso orario e funzione interessata. Trova il nome esatto dell’unità nella documentazione o con systemctl list-units --type=service --all. I nomi possono variare tra distribuzioni.
  2. Leggi systemctl status example.service --no-pager --full. Distingui Loaded, Active ed errori specifici. ‘enabled’ indica l’abilitazione all’avvio, non prova il corretto funzionamento attuale.
  3. Leggi journalctl -u example.service -b -n 100 --no-pager. Limita l’output all’avvio attuale e alle ultime 100 voci corrispondenti. Per un incidente precedente può escludere i messaggi necessari.
  4. Se serve, usa journalctl -u example.service --since '2026-09-16 12:00:00' --until '2026-09-16 12:30:00' --no-pager sostituendo entrambi gli orari. Controlla il fuso del sistema. Leggi anche i messaggi immediatamente precedenti al guasto.
  5. Per un servizio utente usa systemctl --user status example.service e journalctl --user -u example.service con l’account coinvolto. Voci mancanti possono indicare permessi insufficienti, altri file di log o conservazione scaduta.

Controllare il risultato

Annota il primo errore concreto, l’ora e lo stato. Prova separatamente la funzione reale: ‘active’ non dimostra un accesso, una richiesta o un’elaborazione riuscita. Definisci il prossimo test mirato, non una serie di riavvii casuali.

Annullamento e limiti

I comandi leggono senza modificare il servizio. Prima di riavviare, cambiare configurazione o usare reset-failed, chiarisci impatto e ripristino. I log possono contenere dati riservati; condividi solo estratti necessari e ripuliti.

Fonte