F FabGPT-FAQ

systemd e journal

Servizi, unit personalizzate, timer e la lettura chirurgica dei log di journald. Ogni comando è verificato e copiabile; in chat basta descrivere cosa vuoi fare.

15 comandi in questa pagina

# Come vedo lo stato di un servizio?

systemctl status nginx

Stato, PID, memoria e le ultime righe di log in un colpo solo: il primo comando di ogni diagnosi.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come riavvio (o fermo) un servizio systemd?

systemctl restart nginx    # stop / start per i singoli passi

restart riparte da zero; se il servizio supporta il reload, c'è la via senza downtime (scheda dopo).

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come ricarico la config di un servizio senza riavviarlo?

systemctl reload nginx     # o: systemctl reload-or-restart nginx

reload manda SIGHUP (zero downtime) ma solo se l'unit lo supporta; reload-or-restart fa da solo la scelta.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come faccio partire un servizio al boot (o lo tolgo)?

systemctl enable --now nginx
systemctl disable --now nginx

--now agisce anche subito, non solo al prossimo boot: enable senza --now non avvia niente oggi.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come vedo i servizi falliti (e resetto lo stato)?

systemctl list-units --failed
systemctl reset-failed nginx

Il perché del fallimento sta in journalctl -u <servizio> -e; reset-failed pulisce lo stato, non la causa.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?Dove sono i log su Linux (journalctl e /var/log)?

# A cosa serve systemctl mask (e come lo tolgo)?

systemctl mask bluetooth
systemctl unmask bluetooth

mask rende il servizio non avviabile da NIENTE (nemmeno come dipendenza): più forte di disable.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come creo un servizio systemd per un mio script?

# /etc/systemd/system/mio.service
[Unit]
Description=Mio servizio
After=network-online.target

[Service]
ExecStart=/opt/mio/app
User=mio
Restart=on-failure

[Install]
WantedBy=multi-user.target

# poi: systemctl daemon-reload && systemctl enable --now mio

Dopo OGNI modifica al file serve systemctl daemon-reload, o systemd continua a usare la versione vecchia.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?Bash scripting: le basi che servono (e le trappole)

# Come modifico un'unit di sistema senza toccare l'originale?

systemctl edit nginx      # crea un drop-in in /etc/systemd/system/nginx.service.d/

Gli override sopravvivono agli aggiornamenti del pacchetto; modificare il file originale no.

Approfondisci: Come si gestiscono i servizi Linux con systemctl?

# Come creo un timer systemd al posto di cron?

# mio.timer: OnCalendar=daily + Persistent=true, poi:
systemctl enable --now mio.timer
systemctl list-timers

Persistent=true recupera le esecuzioni perse a macchina spenta – il motivo vero per preferirlo a cron.

Approfondisci: Cron: la sintassi spiegata (finalmente)Come si gestiscono i servizi Linux con systemctl?

# Come leggo i log di un servizio con journalctl?

journalctl -u nginx -e     # -f per seguirli in diretta

-e salta in fondo (i log recenti), --since "1 hour ago" restringe il periodo.

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?Come si gestiscono i servizi Linux con systemctl?

# Come vedo i log del boot (anche di quello precedente)?

journalctl -b          # boot corrente
journalctl -b -1 -e    # il boot precedente, dalla fine

-b -1 è lo strumento per capire un riavvio inatteso; serve il journal persistente (scheda dopo).

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?

# Come filtro il journal per soli errori?

journalctl -p err -b
journalctl -p warning --since today

Priorità: emerg, alert, crit, err, warning, notice, info, debug – -p err include anche tutto il più grave.

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?Come si fa security logging fatto bene?Come si gestiscono i servizi Linux con systemctl?

# Il journal occupa gigabyte: come lo riduco?

journalctl --disk-usage
journalctl --vacuum-size=500M

Per renderlo strutturale: SystemMaxUse=500M in /etc/systemd/journald.conf e restart di systemd-journald.

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?Storage pieno su Proxmox: come liberare spazio senza disastri

# Come rendo persistente il journal tra i riavvii?

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

Su alcune distro il journal vive in RAM e sparisce a ogni boot: senza questo, niente log del riavvio precedente.

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?

# Come leggo i messaggi del kernel (dmesg)?

dmesg -T | tail -50    # o: journalctl -k -b

-T traduce i timestamp; qui compaiono OOM killer, errori disco e device che spariscono.

Approfondisci: Dove sono i log su Linux (journalctl e /var/log)?Come si monitora lo stato dei dischi (SMART) e si prevengono i guasti?Quali parametri sysctl impostare per l'hardening del kernel Linux?

Chiedi in chat