Comando timedatectl in Linux: controllare fuso orario e sincronizzazione
timedatectl mostra ora corrente, fuso orario, orologio hardware e stato della sincronizzazione di rete nei sistemi con systemd. Può anche cambiare il fuso e controllare i servizi di sincronizzazione, con le autorizzazioni necessarie.
L’orologio di sistema e il Real-Time Clock (RTC), l’orologio hardware, sono distinti. L’output di status permette di confrontare ora locale e UTC e di leggere fuso e sincronizzazione; una singola indicazione non basta però a diagnosticare tutti i server orari o l’intera rete.
Sintassi di base
timedatectl [opzioni] [comando] [argomenti]
Le parentesi indicano elementi facoltativi e non vanno digitate. Esegui i comandi nel terminale del sistema interessato; in SSH riguardano la macchina remota. Servono il client installato e l’accesso al servizio systemd-timedated tramite il bus di sistema: un container minimale o un ambiente senza i servizi necessari può non supportarli.
Controlla timedatectl --version, timedatectl --help e man timedatectl sul sistema in uso. Le interrogazioni normali non richiedono sudo; le modifiche dipendono dai permessi e dalle politiche di autorizzazione. Il comando show è disponibile da systemd 239.
Esempi pratici
Ora e stato della sincronizzazione
timedatectl status
Leggi Local time, Universal time, Time zone e, quando disponibili, RTC time, System clock synchronized, NTP service e RTC in local TZ. I campi e la loro presentazione variano con versione e ambiente. Un servizio NTP attivo non implica da solo che l’orologio sia già sincronizzato.
Elencare i fusi disponibili
timedatectl list-timezones
L’elenco contiene un nome per riga. Cerca e copia il nome esatto previsto dalle politiche del sistema; non sostituirlo con una semplice abbreviazione come CST. Se l’elenco si apre in un visualizzatore, usa q per uscire da less; timedatectl --no-pager list-timezones evita il pager.
Cambiare il fuso
Prima annota il valore attuale di Timezone, verifica che sia la macchina corretta e valuta l’effetto su log e pianificazioni. Il seguente esempio imposta il fuso di Seoul: sostituiscilo soltanto con un nome effettivamente presente nell’elenco.
sudo timedatectl set-timezone Asia/Seoul
La modifica aggiorna la configurazione di sistema, normalmente il collegamento /etc/localtime. Non è una correzione dell’istante UTC dell’orologio di sistema. Se il RTC è mantenuto nell’ora locale, però, viene aggiornato di conseguenza: controlla anche RTC in local TZ prima di intervenire.
Leggere fuso e stato di sincronizzazione
Per uno script usa le proprietà anziché analizzare le colonne dell’output destinato alle persone. Questa interrogazione legge il fuso configurato e lo stato di sincronizzazione riportato dal kernel:
timedatectl show -p Timezone -p NTPSynchronized
Esempio illustrativo: valori e ordine delle righe possono differire sul tuo sistema.
Timezone=Asia/Seoul
NTPSynchronized=yes
NTPSynchronized=yes significa che il kernel riporta l’ora come sincronizzata. Non certifica che ogni server NTP sia raggiungibile o che una nuova richiesta abbia appena avuto successo. NTP significa Network Time Protocol, il protocollo usato per sincronizzare gli orologi attraverso la rete.
Se il valore è no, verifica quale servizio gestisce l’ora nella distribuzione, il suo stato e i suoi log, la configurazione dei server e la connettività. Se la proprietà manca, controlla prima versione, esito del comando e proprietà disponibili con timedatectl show --all: non interpretare una riga assente come un valore positivo o come una diagnosi certa di guasto di rete.
timedatectl timesync-status riguarda specificamente systemd-timesyncd. Se il sistema usa chrony o un altro servizio, consulta gli strumenti di quel servizio; l’assenza di un risultato da timesync-status non dimostra da sola che nessuna sincronizzazione sia in corso.
Comandi principali
| Comando | Effetto |
|---|---|
status |
Mostra ora e impostazioni, compreso il RTC quando disponibile; è il comando predefinito. |
list-timezones |
Elenca i nomi dei fusi impostabili sul sistema. |
set-timezone area/città |
Modifica il fuso di sistema, non l’istante UTC del clock di sistema. |
set-ntp true|false |
Controlla i servizi di sincronizzazione riconosciuti: true avvia e abilita il primo disponibile; false arresta e disabilita quelli conosciuti. |
show |
Espone proprietà in formato adatto agli script; -p seleziona i nomi richiesti. |
Verifica, ripristino e precauzioni
Dopo set-timezone controlla subito lo stato di uscita con echo $?, prima di altri comandi: zero indica successo. Riesegui timedatectl status e l’interrogazione di Timezone; verifica anche log, applicazioni e attività pianificate interessate. Un’applicazione può usare un fuso proprio o la variabile TZ, perciò non tutte le sue visualizzazioni seguono necessariamente il nuovo fuso di sistema.
Per ripristinare il fuso precedente esegui sudo timedatectl set-timezone 'FUSO_PRECEDENTE', sostituendo il segnaposto con il valore annotato, quindi ripeti i controlli. Non eseguire un cambio di fuso per correggere un orologio realmente fuori sincronia.
set-ntp non seleziona direttamente un server orario e non avvia necessariamente systemd-timesyncd: il servizio riconosciuto dipende dalla configurazione della distribuzione. Prima di cambiare questa impostazione annota servizi attivi e abilitati e segui la politica locale. Invertire semplicemente true e false non garantisce di ricreare una configurazione precedente con più servizi diversi.
set-time cambia invece l’orologio di sistema e aggiorna anche il RTC; può essere rifiutato quando la sincronizzazione automatica è attiva. Non disattivare la sincronizzazione soltanto per aggirare questo controllo. systemd raccomanda in generale il RTC in UTC, perché mantenerlo in ora locale può creare problemi con fusi e ora legale; non usare set-local-rtc come passaggio necessario per cambiare solo il fuso.
In questo ambiente Windows con Git Bash timedatectl non è disponibile. Sono state controllate la documentazione ufficiale e la sintassi shell degli esempi; non sono stati modificati fuso, clock, RTC o servizi NTP, né verificata la sincronizzazione su Linux.
Domande frequenti
Cambiare solo il fuso modifica anche l’ora reale?
Cambia la rappresentazione locale dello stesso istante, non l’istante UTC dell’orologio di sistema. Il RTC può essere aggiornato se configurato in ora locale; per questo va controllato anche quel campo.
Documentazione ufficiale
Consulta il manuale ufficiale di timedatectl, le proprietà e operazioni dell’interfaccia timedate1 e la selezione dei servizi di sincronizzazione in systemd-timedated.




