Se usi bash, la riga seguente farà il lavoro
$ cat </dev/tcp/time.nist.gov/13
56525 13-08-21 23:07:09 50 0 0 55.6 UTC(NIST) *
Sfrutta le funzionalità di rete integrate¹ della shell bash. Se usi una shell POSIX o qualsiasi altra shell puoi usare ad es. netcat.
$ nc time.nist.gov 13
56525 13-08-21 23:07:09 50 0 0 55.6 UTC(NIST) *
Entrambi i comandi interrogano il timer server sulla porta TCP 13 del National Institute of Standards and Technology e restituiscono i dati ricevuti su stdout.
¹MODIFICA: Dalla pagina man di Bash:Bash gestisce diversi nomi di file specialmente quando vengono usati nei reindirizzamenti, come descritto nella tabella seguente:
/dev/tcp/host/port
Se host è un nome host o un indirizzo Internet valido e port è un numero di porta intero o
nome del servizio, bash tenta di aprire una connessione TCP al socket corrispondente.
/dev/udp/host/port
Se host è un nome host o un indirizzo Internet valido e port è un numero di porta intero o
nome del servizio, bash tenta di aprire una connessione UDP al socket corrispondente.
Sono disponibili diversi servizi NTP per distribuzione.
Se desideri eseguire una sincronizzazione dell'orologio una sola volta :
date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
Imposta l'ora di sistema sull'orologio in tempo reale dell'hardware
hwclock -r --utc
hwclock -w --utc
hwclock -r --utc
(Nota:questo sembra funzionare bene con Google perché ha server ovunque)
Se desideri solo vedere a che ora invia il server di Google più vicino:
date -d "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
Il ntpdate
il comando può farlo con il -q
bandiera:
$ ntpdate -q 1.debian.pool.ntp.org
server 88.191.120.99, stratum 3, offset -0.015076, delay 0.06604
server 88.191.235.218, stratum 2, offset -0.000676, delay 0.06592
server 188.165.240.21, stratum 3, offset 0.001191, delay 0.07005
server 91.121.34.166, stratum 2, offset 0.000565, delay 0.06998
22 Aug 00:56:21 ntpdate[31373]: adjust time server 88.191.235.218 offset -0.000676 sec
Da man ntpdate
:
-q Query only - don't set the clock.