¿Manera fácil de obtener el tiempo atómico internacional en Linux?
12
Mi sistema usa UTC para el reloj del sistema, lo que no tengo muchas ganas de cambiar. ¿Hay una manera fácil de obtener el tiempo TAI actual? (preferiblemente una herramienta de línea de comando o bandera)
¿Desea obtener la diferencia entre UTC y TAI con fines informativos (por ejemplo, son las 12:30:13 UTC y las 12:30:45 TAI) o desea restablecer el reloj desde una fuente externa para compensar las diferencias acumuladas en su sistema local?
Sven
1
Por el momento solo con fines informativos. Y en caso de que alguna vez quiero usarlo en la programación, ya que TAI, a diferencia UTC, siempre es monótonamente creciente
Hmm, entonces no hay ningún soporte fácil actualmente, pero el soporte del kernel está por llegar y luego solo tenemos que esperar a que las utilidades del usuario admitan la opción CLOCK_TAI.
JanKanis
2
La respuesta con la zona horaria "correcta /" es incorrecta. Está destinado a convertir de un reloj del sistema mantenido en TAI - 10s a UTC. Por lo tanto, lo siguiente da la hora correcta en UTC, GPS, LOREN y TAI [1]:
#!/bin/sh
echo -n "UTC: "; TZ='UTC' date
echo -n "GPS: "; TZ='UTC' date --date='TZ="../leaps/UTC" now -9 seconds'
echo -n "LORAN: "; TZ='UTC' date --date='TZ="../leaps/UTC" now'
echo -n "TAI: "; TZ='UTC' date --date='TZ="../leaps/UTC" now 10 seconds'
Las zonas horarias correctas pueden estar en una ubicación diferente, TZ = "right / UTC", TZ = "../ zoneinfo-leaps / UTC". Reemplace "ahora" con la fecha / hora que desea transformar: la salida es correcta para cada fecha posterior al 1/1/1980.
Salida:
UTC: Sun Oct 30 16:28:30 UTC 2016
GPS: Sun Oct 30 16:28:47 UTC 2016
LORAN: Sun Oct 30 16:28:56 UTC 2016
TAI: Sun Oct 30 16:29:06 UTC 2016
De hecho, tienes razón sobre mi respuesta. Como puede ver en el ejemplo copiado, en 2013 solía funcionar. Sin embargo, hoy en 2017 tengo 10 segundos de diferencia entre TAI y lo que se TZ='right/UTC' dateestá imprimiendo.
Huygens
TENGA EN CUENTA: UTC se ajusta con respecto a GPS y TAI cuando se actualizan los segundos bisiestos. TAI (Temps Atomique International, es la escala de tiempo atómica internacional basada en un conteo continuo del segundo SI). En 2019, TAI está por delante de UTC por 37 segundos. TAI siempre está por delante del GPS en 19 segundos. Cualquier sistema que use esto debe actualizarse para mantener "../leaps/UTC" actualizado.
Mejor use algo como en pool.ntp.orglugar de una dirección IP fija para equilibrar mejor la carga del servicio.
Sven
44
También los autores de ntpdate lo etiquetan como no mantenido, obsoleto y en desuso. Se alienta a las personas a usar ntpd y ntp-wait en su lugar. Es mejor tener su reloj siempre correcto que tener que saltar repentinamente a la hora correcta periódicamente.
estofado
44
Creo que NTP emite la hora UTC, no la hora TAI que solicité específicamente.
Respuestas:
Hay trabajo en progreso para dar soporte nativo de Linux para TAI. Hasta entonces, puede usar el reloj de esquema para convertir a TAI.
fuente
La respuesta con la zona horaria "correcta /" es incorrecta. Está destinado a convertir de un reloj del sistema mantenido en TAI - 10s a UTC. Por lo tanto, lo siguiente da la hora correcta en UTC, GPS, LOREN y TAI [1]:
Las zonas horarias correctas pueden estar en una ubicación diferente, TZ = "right / UTC", TZ = "../ zoneinfo-leaps / UTC". Reemplace "ahora" con la fecha / hora que desea transformar: la salida es correcta para cada fecha posterior al 1/1/1980.
Salida:
[1] http://www.leapsecond.com/java/gpsclock.htm
fuente
TZ='right/UTC' date
está imprimiendo.La respuesta está en desuso : consulte /server//a/812163/67419
Puede usar la zona horaria "derecha /" para mostrar una aproximación (<1s) del TAI.
Pero debe asegurarse de que su paquete de zona horaria esté actualizado (por ejemplo, tzdata en Ubuntu).
Código:
Ejemplo:
Motivo de la depreciación: entre 2013 y hoy, la zona horaria "derecha / UTC" corresponde a TAI - 10 segundos y no a TAI. O hubo un error.
fuente
Es fácil de hacer: solo ejecuta
/usr/sbin/ntpdate pool.ntp.org;/sbin/hwclock --systohc
una vez o agrégalo a cron. Lo tengo configurado a diario.fuente
pool.ntp.org
lugar de una dirección IP fija para equilibrar mejor la carga del servicio.