How to know current time from internet from command line in Linux?
How to know current time from internet from command line in Linux?
For example, with ntpq
program?
Note: not from computer or operating system clock, but from internet?
Note: I don't want to CHANGE or to SYNC time. Just KNOW it.
Solution 1:
If you use bash the following line will do the job
$ cat </dev/tcp/time.nist.gov/13
56525 13-08-21 23:07:09 50 0 0 55.6 UTC(NIST) *
It leverages the built-in network capabilites¹ of the bash shell. If you use a POSIX shell or any other shell you can use e.g. netcat.
$ nc time.nist.gov 13
56525 13-08-21 23:07:09 50 0 0 55.6 UTC(NIST) *
Both commands query the timer server on TCP port 13 of the National Institute of Standards and Technology and output the received data on stdout.
¹EDIT: From the Bash man page: Bash handles several filenames specially when they are used in redirections, as described in the following table:
/dev/tcp/host/port
If host is a valid hostname or Internet address, and port is an integer port number or
service name, bash attempts to open a TCP connection to the corresponding socket.
/dev/udp/host/port
If host is a valid hostname or Internet address, and port is an integer port number or
service name, bash attempts to open a UDP connection to the corresponding socket.
Solution 2:
There are several NTP services available per distro.
If you would like to do a one time clocksync:
date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
Set system time to hardware Real-Time-Clock
hwclock -r --utc
hwclock -w --utc
hwclock -r --utc
(Note: this happens to work well with Google because they have severs all over)
If you would like to just see what time Google's nearest server sends:
date -d "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
Solution 3:
The ntpdate
command can do this with the -q
flag:
$ 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
From man ntpdate
:
-q Query only - don't set the clock.