¿Cómo saber la hora actual de internet desde la línea de comandos en Linux?
Por ejemplo, con ntpq
programa?
Nota: ¿no desde la computadora o el reloj del sistema operativo, sino desde internet?
Nota: No quiero cambiar ni sincronizar la hora. Solo conócelo.
linux
command-line
ntp
Dims
fuente
fuente
Respuestas:
Si usa bash, la siguiente línea hará el trabajo
Aprovecha las capacidades de red integradas del bash shell. Si usa un shell POSIX o cualquier otro shell, puede usar, por ejemplo, netcat.
Ambos comandos consultan el servidor del temporizador en el puerto TCP 13 del Instituto Nacional de Estándares y Tecnología y generan los datos recibidos en stdout.
¹ EDITAR: desde la página de manual de Bash: Bash maneja varios nombres de archivo especialmente cuando se usan en redirecciones, como se describe en la siguiente tabla:
fuente
</dev/tcp/
formatocurl -G --data-urlencode "format=%D-%T\n" http://www.timeapi.org/cet/now?
Hay varios servicios NTP disponibles por distribución.
Si desea hacer una sincronización de reloj única :
Establezca la hora del sistema en el reloj de tiempo real del hardware
(Nota: esto funciona bien con Google porque tienen servidores en todas partes)
Si desea ver a qué hora se envía el servidor más cercano de Google:
fuente
El
ntpdate
comando puede hacer esto con la-q
bandera:De
man ntpdate
:fuente
También puede obtener el tiempo a través de Internet usando HTTP usando HTP que está disponible en muchos sistemas, ya
htpdate
que generalmente solo tiene precisión al segundo más cercano, o puede obtenerlo usando TLS usando lotlsdate
que puede proporcionar una mejor precisión:Además, dado que ntpdate está en desuso, puede usarlo
sntp
(está instalado de forma predeterminada en MacOS y viene como parte de las distribuciones ntp) para obtener la fecha con mucha más precisión:fuente