Potresti aver impostato processi cron che viene eseguito in un momento specifico per eseguire il backup di file importanti o eseguire attività relative al sistema. Oppure potresti aver configurato un server di log per ruotare i log fuori dal sistema a intervalli regolari. Se l'orologio non è sincronizzato, quei lavori non verranno eseguiti al momento giusto. Questo è il motivo per cui è importante impostare un fuso orario corretto sui sistemi Linux e mantenere l'orologio sincronizzato con Internet. Questa guida descrive come impostare la sincronizzazione dell'ora su Ubuntu Linux. I passaggi indicati di seguito sono stati testati su Ubuntu 18.04, tuttavia sono gli stessi per altri sistemi basati su Ubuntu che utilizzano timesyncd di systemd servizio.
Imposta la sincronizzazione dell'ora su Ubuntu
Di solito, impostiamo il fuso orario durante l'installazione. Puoi comunque cambiarlo o impostare un fuso orario diverso se lo desideri.
Per prima cosa, vediamo il fuso orario corrente nel nostro sistema Ubuntu usando il comando "date":
$ date
Risultato di esempio:
Tue Jul 30 11:47:39 UTC 2019
Come puoi vedere nell'output sopra, il comando "date" mostra la data effettiva e l'ora corrente. Qui, il mio fuso orario attuale è UTC che sta per Coordinated Universal Time .
In alternativa, puoi cercare /etc/timezone per trovare il fuso orario corrente.
$ cat /etc/timezone UTC
Ora, vediamo se l'orologio è sincronizzato con Internet. Per farlo, esegui semplicemente:
$ timedatectl
Esempio di output:
Local time: Tue 2019-07-30 11:53:58 UTC Universal time: Tue 2019-07-30 11:53:58 UTC RTC time: Tue 2019-07-30 11:53:59 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Come puoi vedere, il comando "timedatectl" mostra l'ora locale, l'ora universale, il fuso orario e se l'orologio di sistema è sincronizzato con i server Internet e se il systemd-timesyncd.service è attivo o inattivo. Nel mio caso, l'orologio di sistema si sta sincronizzando con i server orari di Internet.
Se l'orologio non è sincronizzato, vedrai "Orologio di sistema sincronizzato:no" come mostrato nello screenshot qui sotto.
La sincronizzazione dell'ora è disabilitata.
Nota: Lo screenshot sopra è vecchio. Ecco perché vedi la data diversa.
Se vedi "Orologio di sistema sincronizzato: valore impostato su no , il servizio timesyncd potrebbe essere inattivo. Quindi, riavvia semplicemente il servizio e vedi se aiuta.
$ sudo systemctl restart systemd-timesyncd.service
Ora controlla lo stato del servizio timesyncd:
$ sudo systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-07-30 10:50:18 UTC; 1h 11min ago Docs: man:systemd-timesyncd.service(8) Main PID: 498 (systemd-timesyn) Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)." Tasks: 2 (limit: 2319) CGroup: /system.slice/systemd-timesyncd.service └─498 /lib/systemd/systemd-timesyncd Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800
Se questo servizio è abilitato e attivo, l'orologio del tuo sistema dovrebbe sincronizzarsi con i server dell'ora Internet.
Puoi verificare se la sincronizzazione dell'ora è abilitata o meno usando il comando:
$ timedatectl
Se ancora non funziona, esegui il seguente comando per abilitare la sincronizzazione dell'ora:
$ sudo timedatectl set-ntp true
Ora l'orologio del tuo sistema si sincronizzerà con i server dell'ora Internet.
Cambia il fuso orario usando il comando Timedatectl
Cosa succede se voglio utilizzare un fuso orario diverso da UTC? È facile!
Innanzitutto, elenco dei fusi orari disponibili utilizzando il comando:
$ timedatectl list-timezones
Vedrai un output simile all'immagine qui sotto.
Elenca i fusi orari usando il comando timedatectl
Puoi impostare il fuso orario desiderato (es. Asia/Kolkata) usando il comando:
$ sudo timedatectl set-timezone Asia/Kolkata
Controlla di nuovo se il fuso orario è stato davvero modificato usando il comando "data":
$ date Tue Jul 30 17:52:33 IST 2019
Oppure, usa il comando timedatectl se vuoi l'output dettagliato:
$ timedatectl Local time: Tue 2019-07-30 17:52:35 IST Universal time: Tue 2019-07-30 12:22:35 UTC RTC time: Tue 2019-07-30 12:22:36 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Come hai notato, ho cambiato il fuso orario da UTC a IST (ora solare indiana).
Per tornare al fuso orario UTC, esegui semplicemente:
$ sudo timedatectl set-timezone UTC
Cambiare il fuso orario utilizzando Tzdata
Nelle versioni precedenti di Ubuntu, il comando Timedatectl non è disponibile. In questi casi, puoi utilizzare Tzdata (Dati del fuso orario) per impostare la sincronizzazione dell'ora.
$ sudo dpkg-reconfigure tzdata
Scegli l'area geografica in cui vivi. Nel mio caso, ho scelto Asia . Seleziona OK e premi il tasto INVIO.
configura il fuso orario usando il comando tzdata
Quindi, seleziona la città o la regione corrispondente al tuo fuso orario. Qui ho scelto Calcutta .
configurare il fuso orario usando tzdata
Infine, vedrai un output simile a quello di seguito nel Terminale.
Current default time zone: 'Asia/Kolkata' Local time is now: Tue Jul 30 19:29:25 IST 2019. Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.
Configura il fuso orario in modalità grafica
Alcuni utenti potrebbero non sentirsi a proprio agio con la modalità CLI. Se sei uno di loro, puoi facilmente modificare tutto questo dal pannello delle impostazioni di sistema in modalità grafica.
Premi il tasto Super (tasto Windows), digita impostazioni nel trattino di Ubuntu e fai clic su Impostazioni icona.
Avvia le impostazioni di sistema dal cruscotto di Ubuntu
In alternativa, fai clic sulla freccia in basso situata nell'angolo in alto a destra del desktop di Ubuntu e fai clic sull'icona Impostazioni nell'angolo sinistro.
Avvia le impostazioni di sistema dal pannello superiore
Nella finestra successiva, scegli Dettagli quindi fare clic su Data e ora opzione. Attiva sia Data e ora automatiche e Fuso orario automatico opzioni.
Imposta il fuso orario automatico in Ubuntu
Chiudi la finestra Impostazioni e il gioco è fatto! L'orologio del tuo sistema dovrebbe ora sincronizzarsi con i server dell'ora Internet.