Ricerca nel sito web

LFCA: Impara a gestire ora e data in Linux - Parte 6


Questo articolo è la Parte 6 della serie LFCA, in questa parte conoscerai i comandi generali di amministrazione del sistema per gestire le impostazioni di data e ora nel sistema Linux.

Il tempo è cruciale in qualsiasi sistema Linux. Diversi servizi come crontab, anacron, servizi di backup e ripristino dipendono dal tempo preciso per svolgere le proprie attività come previsto.

Linux ha 2 tipi di orologi:

  • Orologio hardware: è l'orologio alimentato a batteria, noto anche come orologio CMOS o RTC (Real Time Clock). L'orologio funziona indipendentemente dal sistema operativo e continua a funzionare anche quando il sistema è spento, a condizione che sia presente la batteria CMOS.
  • Orologio di sistema ( Orologio software) – Viene chiamato anche orologio del kernel. Al momento dell'avvio, l'orologio di sistema viene inizializzato dall'orologio hardware e prende il controllo da lì.

Di solito esiste una differenza oraria tra i due orologi tale che si allontanano gradualmente l'uno dall'altro. Ci arriveremo più tardi e ti mostreremo come sincronizzare questi orologi.

Per ora vedremo come controllare ora e data su un sistema Linux.

Controlla ora e data su un sistema Linux

Esistono due utilità principali utilizzate per controllare l'ora e la data su un sistema Linux. Il primo è il comando data. Senza alcun argomento, fornisce un bel po' di informazioni mostrate

date

Friday 26 March 2021 11:15:39 AM IST

Per visualizzare la data solo nel formato ora gg-mm-aa, esegui il comando:

date +"%d-%m-%y"

26-03-21

Se vuoi solo visualizzare solo l'ora corrente e nient'altro, usa il comando:

date "+%T"

11:17:11

Il comando timedatectl è una nuova utility utilizzata nei moderni sistemi Linux come Ubuntu 18.04, RHEL 8 e CentOS 8. È un sostituto del comando date che era prominente nei vecchi sistemi SysVinit. Può essere utilizzato per interrogare e regolare l'ora su un sistema Linux.

Senza alcuna opzione, il comando timedatectl stampa una serie di informazioni come l'ora locale, l'ora UTC, l'ora RTC e il fuso orario, per citarne alcuni.

timedatectl

Come impostare un fuso orario su un sistema Linux

Su un sistema Linux, l'ora dipende dal fuso orario impostato. Per verificare il fuso orario configurato sul tuo sistema, esegui il comando:

timedatectl | grep Time

Dall'output nello snippet sopra, mi trovo nel fuso orario Africa/Nairobi. Per visualizzare i fusi orari disponibili, esegui il comando:

timedatectl list-timezones

Premi INVIO per scorrere l'intero elenco dei possibili fusi orari disponibili.

I fusi orari sono definiti anche nel percorso /usr/share/zoneinfo/ come mostrato.

ls /usr/share/zoneinfo/

Esistono un paio di modi che puoi utilizzare per configurare il fuso orario. Utilizzando il comando timedatectl è possibile impostare il fuso orario, ad esempio, su America/Chicago, utilizzando la sintassi mostrata.

timedatectl set-timezone 'America/Chicago'

L'altro modo per impostare il fuso orario è creare un collegamento simbolico da un file del fuso orario nel percorso /usr/share/zoneinfo a /etc/localtime. Ad esempio, per impostare il fuso orario locale su EST (Eastern Standard Time), esegui il comando:

sudo ln -sf /usr/share/zoneinfo/EST /etc/localtime

Imposta data e ora su un sistema Linux

Per impostare l'ora solo su un sistema Linux utilizzando il formato HH:MM:SS (Ora: Minuto: Secondo), utilizzare la sintassi seguente

timedatectl set-time 18:30:45

Per impostare la data solo nel formato AA-MM-GG (Anno: Mese: Giorno), utilizza la sintassi:

timedatectl set-time 20201020

Per impostare sia la data che l'ora, eseguire:

timedatectl set-time '2020-10-20 18:30:45'

NOTA: l'impostazione manuale di data e ora in questo modo non è consigliata poiché è probabile che si configurino impostazioni di data e ora imprecise. Infatti, per impostazione predefinita, la sincronizzazione automatica dell'ora è attivata per impedire di effettuare impostazioni manuali di data e ora.

Il modo più consigliato per impostare l'ora è specificare il fuso orario in cui ci si trova come mostrato in precedenza o attivare la sincronizzazione automatica dell'ora con un server NTP remoto.

Imposta la sincronizzazione automatica dell'ora utilizzando il server NTP

NTP è l'abbreviazione di Network Time Protocol, che è un protocollo Internet utilizzato per sincronizzare automaticamente l'orologio del sistema con un pool sui server NTP online.

Utilizzando il comando timedatectl, puoi impostare la sincronizzazione automatica dell'ora come segue:

timedatectl set-ntp true

Per disabilitare la sincronizzazione automatica dell'ora NTP, eseguire:

timedatectl set-ntp false
Conclusione

I comandi timedatectl e date sono pratici strumenti da riga di comando che possono aiutarti a controllare e modificare il tuo tempo su Linux.