2011-06-26 13:23:39 +0000 2011-06-26 13:23:39 +0000
71
71

Come impostare l'ora attuale su Linux?

Perché l'uscita dei seguenti comandi è diversa?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#

E posso cambiare l'ora attuale su Linux?

Risposte (10)

92
92
92
2011-06-26 15:28:54 +0000

Di solito si vuole avere il tempo impostato automaticamente, e in questo caso, si vuole impostare ntpd per impostare automaticamente il tempo per voi.

Le specifiche differiscono leggermente da distribuzione a distribuzione, ma se si esegue Ubuntu, per esempio, c'è una guida su impostazione NTP su Ubuntu . Altrimenti, solo Google ntpd <distribution-name>, e probabilmente la troverete.

Se volete impostarla manualmente, tuttavia, potete usare date --set="<date string>". Esempi di questo potrebbero essere:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
37
37
37
2011-06-26 14:13:09 +0000

Impostare l'orologio hardware sull'ora corrente del sistema.

# hwclock --systohc
``` ```
# hwclock --hctosys

Impostare l'ora del sistema dall'orologio hardware.

&001

23
23
23
2013-04-01 13:13:25 +0000

solo ntpdate ntp.ubuntu.com e tutto andrà bene.

Ci sono ulteriori informazioni al riguardo su Ubuntu Official Documentation

13
13
13
2013-08-23 16:51:36 +0000

Un altro problema comune, molto fastidioso, è quando si seleziona il fuso orario sbagliato…

Controllare il fuso orario con l'uscita della data:

$ date

Fre Aug 23 18:47:04 UTC 2013

Per correggere il tipo di fuso orario:

$ sudo tzselect

e selezionare la Regione corretta con i numeri corrispondenti.

Un secondo compito è quello di impostare l'ora corretta:

$ sudo date –set=“18:37:00”

O semplicemente prendere il tempo dall'HW-Clock:

$ sudo hwclock –hctosys

3
3
3
2015-04-03 10:00:44 +0000

In CentOS i fusi orari si trovano in /usr/share/zoneinfo/, per cambiare la data di sistema in un fuso orario specifico è possibile:

Prima di tutto, fare un backup del file di ora locale esistente.

sudo mv /etc/localtime /etc/localtime.bak
``` ```
sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime

Successivamente, creare il link:

date -s "11 MAR 2006 11:11:11"

Controllare la nuova data di sistema digitando date.

Per regolare il sistema Linux data manualmente è possibile digitare:

date --set="11 MAR 2015 11:11:11"

OR

date +%Y%m%d -s "20150311"

OR

Per impostare l'orologio hardware** sull'ora corrente del sistema:

hwclock --systohc

OR

hwclock -w
2
2
2
2015-06-17 09:24:07 +0000

Prova questo:

date +%T -s "12:21:00"
``` ```
date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"

o

&001

1
1
1
2013-07-31 07:32:37 +0000

“hwclock” è la data dell'hardware (macchina), e “data” è la data del software (sistema operativo).

Per cambiare la data dell'hardware del pc:

hwclock --set --date="2013-7-31 09:30"

Per cambiare la data del software:

date --set "2013-7-31 09:30"
0
0
0
2011-11-26 11:33:01 +0000

date restituisce il tempo dato come il tempo dal momento in cui la cpu si è avviata più l'orologio hardware interno dato tempo, hwclock dà il tempo che l'orologio interno ha.

Il tempo basato sulla cpu tende ad andare alla deriva il tempo in cui la macchina è in piedi, che è la ragione dietro l'esistenza del comando hwclock --hctosys. Inoltre è una delle ragioni alla base dell'uso del Network Protocol Time, che viene utilizzato per coordinare il tempo a livello internazionale su Internet.

0
0
0
2016-09-26 12:37:17 +0000

usa questo se non hai client NTP

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest in URL è il tuo fuso orario locale

Puoi usare utc… ed ecc…

0
0
0
2019-02-20 14:18:53 +0000

posso cambiare l'ora attuale su Linux?

Per me, dovevo prima eseguire questo comando:

sudo systemctl stop systemd-timesyncd

Altrimenti systemd avrebbe resettato l'ora immediatamente. Dopo aver interrotto il servizio systemd, l'esecuzione di date funziona come previsto:

$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971

Mentre il servizio era in esecuzione, il comando date -s sembrava funzionare, ma l'esecuzione di date un attimo dopo mi avrebbe dato di nuovo il tempo di systemd.