Questo tutorial si concentra sulle tecniche per impostare la data e l’ora su Linux utilizzando timedatectl, NTP o data.

Come amministratore di sistema, potrebbe essere richiesto di impostare la data di sistema su più server.

Potrebbero essere configurati male o i loro fusi orari potrebbero non essere configurati correttamente.

Di conseguenza, alcuni dei tuoi programmi potrebbero registrare date non valide, portando ad essere in grado di ispezionare alcuni dei tuoi log del server, ad esempio.,

In questo tutorial, stiamo andando a vedere come è possibile impostare correttamente la data su Linux al fine di abbinare il fuso orario geografico corrente.

Per prima cosa, daremo un’occhiata al comando timedatectl con l’opzione systemd-timesync. Successivamente, installeremo i servizi chrony o NTP per sincronizzare in modo efficiente la data del nostro sistema.

Infine, useremo il comando” data ” per impostare staticamente la data del nostro sistema.

Discuteremo anche le differenze tra questi metodi e quale si consiglia di utilizzare preferibilmente.,

Sommario

Prerequisiti

Prima di iniziare, è necessario disporre dei privilegi sudo sul proprio host per eseguire alcuni dei comandi.

assicurarsi di esso, è possibile eseguire il seguente comando:

$ sudo -lUser user may run the following commands on localhost: (ALL) ALL

Se non si dispone di privilegi sudo sul tuo account, segui questo tutorial per ottenere sudo sui sistemi basati su Debian o Red Hat based systems (CentOS, RHEL)

data Impostata su Linux utilizzando timedatectl

Se si sta lavorando su Debian/Ubuntu o su RHEL/CentOS, il modo di impostare la data è la stessa.,

Per impostare la data, è necessario impostare le informazioni sul fuso orario e (facoltativamente) attivare il protocollo NTP in modo che il sistema si sincronizzi con i server NTP. Se non si utilizza il protocollo NTP (con ntpd o chrony), il sistema utilizzerà il servizio timesync per impostazione predefinita.

Se il tuo fuso orario è configurato male, dovrai modificare le informazioni sul fuso orario.

Per consultare il fuso orario corrente su Linux, è possibile eseguire il comando timedatectl.

Diciamo che vuoi modificarlo.,

Per elencare i fusi orari su Linux, utilizzare l’opzione “list-timezones” con timedatectl.

$ timedatectl list-timezones

Come puoi vedere, i fusi orari sono presentati usando la seguente sintassi : continente / regione.

Per impostare il fuso orario a New York, puoi cercarlo facilmente usando grep.

$ timedatectl list-timezones | grep YorkAmerica/New_York

Per impostare il fuso orario, utilizzare il comando “set-timezone”.

$ timedatectl set-timezone America/New_York

Per verificare la data di sistema corrente, è necessario eseguire nuovamente il comando timedatectl.,

Tuttavia, la tua data corrente non è ancora sincronizzata, dovrai attivare il servizio NTP per sincronizzarlo.

Per impostazione predefinita, se si sta lavorando con una distribuzione con systemd, si dovrebbe avere il demone systemd-timesync per impostazione predefinita.

La differenza principale tra systemd-timesync e NTP è che il demone implementa solo un lato client e non utilizza meccanismi complessi come NTP.

Per abilitare la sincronizzazione dell’ora, è sufficiente eseguire questo comando.,

$ timedatectl set-ntp truesystemd-timesyncd.service active: true

Se si preferisce utilizzare chrony o NTP, le sezioni successive descrivono come è possibile impostare NTP e chrony per sincronizzare la data del sistema.

Imposta la data su Linux usando chrony (NTP)

Il modo più accurato per impostare la data su Linux è usare il protocollo ntp.

Come promemoria rapido, il protocollo NTP viene utilizzato per sincronizzare il tempo tra diversi server su una rete.

Si utilizzeranno i server di riferimento che verranno sincronizzati con il proprio server calcolando le latenze per contattare i server di riferimento.,

Utilizzando il protocollo NTP, si sarà in grado di avere una data molto precisa su Linux.

Per impostare la data, si intende utilizzare il servizio chrony.

Prima di tutto, assicurati che il servizio timesyncd non sia in esecuzione sul tuo host.

$ sudo systemctl stop systemd-timesyncd.service

Quindi, assicurati che i tuoi pacchetti siano aggiornati sul tuo server.

$ sudo yum update

Quindi, installare il pacchetto chrony utilizzando YUM.

$ sudo yum install chrony $ sudo apt-get install chrony 

Nella maggior parte dei casi, il servizio chrony potrebbe essere installato di default sulla distribuzione.,

Per abilitare e avviare il servizio chrony, è necessario eseguire i seguenti comandi.

$ sudo systemctl enable chronyd$ sudo systemctl start chronyd

Verificare lo stato del servizio con il comando status.

$ sudo systemctl status chronyd

Ora che chrony è installato sul vostro sistema, è possibile modificare la data di sistema, regolando il fuso orario di sistema.,

Si noti che non è necessario impostare l’attivazione del protocollo NTP per il comando timedatectl poiché l’avvio di chrony disattiva automaticamente il demone systemd-timesync per utilizzare NTP.

Se si vuole fare in modo di esso, è ancora possibile eseguire il seguente comando.

$ timedatectl set-ntp true

Eseguire nuovamente il comando timedatectl per assicurarsi che tutto sia sincronizzato.

Nota: invece di avere “servizio NTP”, puoi ancora avere ” systemd-timesyncd.etichetta “service active” impostata su sì., Ciò non significa che il servizio è attivo, ma significa che l’host sta usando chrony come un modo per sincronizzare.

Inoltre, è possibile eseguire “data” per controllare la data di sistema corrente.

$ date Thu Oct 17 13:16:10 EDT 2019

Impressionante!

Hai impostato correttamente la tua data su Linux (CentOS/RHEL) usando chrony.

Imposta la data su Linux usando ntpd (NTP)

Come descritto prima, usare il protocollo NTP è probabilmente il modo più accurato per impostare la data su Ubuntu e Debian.

Prima di tutto, stai per installare il servizio ntp sul tuo host.,

Per installare un client NTP, è sufficiente eseguire il seguente comando.

$ sudo apt-get install ntp $ sudo yum install ntp 

Per impostazione predefinita, l’esecuzione di questo comando installerà e attiverà un servizio NTP (Network Time Service) sull’host.

Per assicurarlo, ottenere lo stato del servizio NTP.

$ sudo systemctl status ntp

Per impostazione predefinita, l’esecuzione o il riavvio del servizio NTP non attiverà il servizio NTP per comando datatectl.

Per attivare la sincronizzazione NTP, specificare l’opzione “set-ntp”.,

$ timedatectl set-ntp true

Di nuovo, esegui un semplice comando timedatectl per assicurarti che tutto funzioni correttamente.

Fantastico!

Hai impostato correttamente la data su Linux usando ntp.

Imposta data su Linux usando il comando data

Uno dei modi per impostare la data su Linux è usare il comando data.

Uno dei principali difetti di questo approccio è il fatto che non sarai mai preciso come impostare il fuso orario e sincronizzarlo con timesyncd o chronyd.

Tuttavia, è ancora possibile farlo in questo modo.,

Prima di tutto, desattiva la sincronizzazione dell’ora sul tuo host, altrimenti la modifica manuale della data verrà cancellata ogni volta dal servizio di sincronizzazione.

$ sudo timedatectl set-ntp false

Per impostare la data, utilizzare “date” con l’opzione “-s”.

$ date -s <date>

Ad esempio, utilizzando il formato aaaa-MM-gg, è possibile impostare la data in questo modo.

$ date -s '2019-10-17 12:00:00'Thu Oct 17 12:00:03 EDT 2019$ date -s '23 October 2019 12:00:00'Wed Oct 23 12:00:00 EDT 2019

È inoltre possibile utilizzare scorciatoie per impostare facilmente la data.

Se si desidera modificare solo l’anno, è possibile utilizzare la scorciatoia “anno prossimo” o “anno scorso”.,

$ sudo date -s "next year"Sat Oct 17 12:02:21 EDT 2020$ sudo date -s "last year"Thu Oct 17 12:02:43 EDT 2018

Puoi anche scegliere di modificare solo il mese o il giorno con le seguenti scorciatoie.

Sincronizzare l’orologio hardware con la data di sistema

Prima di passare alle attività quotidiane di amministrazione del sistema, può essere una buona idea sincronizzare l’orologio hardware con la data di sistema.

In questo modo, ti assicuri che i tuoi due orologi non visualizzino date e ore diverse.

Per sincronizzare l’orologio hardware con la data di sistema, utilizzare il comando “hwclock” con l’opzione “–systohc”.

$ sudo hwclock --systohc$ sudo hwclock2019-10-23 13:03:56.466724-0400

Ottimo!,

È stato sincronizzato correttamente l’orologio hardware con la data di sistema corrente.

Conclusione

Nel tutorial di oggi, hai imparato come puoi facilmente impostare la data su qualsiasi sistema Linux.

Hai imparato che puoi impostare il fuso orario e lasciare che il demone systemd-timesyncd esegua la sincronizzazione dell’ora.

Se stai cercando tecniche di sincronizzazione dell’ora più precise ed efficienti, hai imparato che puoi usare chrony o NTP per ottenere questo risultato.

Hai anche visto che è possibile impostare la data staticamente usando il comando data.,

Se sei interessato all’amministrazione del sistema Linux, abbiamo un sacco di tutorial sull’argomento.