This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.- In English: This article is a translation from English into Spanish, published under license «Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) », written by Brian Boucheron and Kathleen Juell, published on line by the company for leasing virtual machines DigitalOcean. The tittle is «How To Set Up Time Synchronization on Debian 10» and we created a copy at Wayback Machine for prevent in future a broken link. This work is licensed under the mencioned license but, of course, in castilian language (AKA spanish): «Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) ».
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.- En castellano: Este artículo es una traducción del inglés al castellano, publicado bajo licencia (en idioma inglés) «Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) » escrito por Brian Boucheron and Kathleen Juell, publicado en línea por la empresa de alojamiento de máquinas virtuales DigitalOcean. El título original en idioma inglés es «How To Set Up Time Synchronization on Debian 10» y hemos creado una copia en Wayback Machine para prevenir un posible enlace roto a futuro.
Tabla de contenido:
Introducción
El cronometraje preciso se ha convertido en un componente crítico de las implementaciones modernas de software. Ya sea para asegurarse de que los registros se guarden en el orden correcto o que las actualizaciones de la base de datos se apliquen correctamente, horas y/o fechas fuera de sincronización puede causar errores, corrupción de datos y otros problemas difíciles para depurar.
Debian 10 tiene sincronización de tiempo integrada y activada por defecto usando el servidor de tiempo estándar ntpd, provisto por el paquete ntp. En este artículo veremos algunos comandos básicos relacionados con el tiempo, verificaremos que ntpd esté activo y conectado a sus pares, y aprenderemos cómo activar el servicio de tiempo de red alternativo systemd-timesyncd.
Prerrequisitos
Antes de comenzar este tutorial, necesitará un servidor Debian 10 con un usuario no root habilitado para sudo, como se describe en este tutorial de configuración del servidor Debian 10.
Paso 1 — Comandos básicos de tiempo
El comando básico para averiguar la hora en su servidor es date. Cualquier usuario puede escribir este comando para imprimir la fecha y la hora:
$ date
Ejecución y visualización:
Wed 31 Jul 2019 06:03:19 PM UTC
La mayoría de las veces, su servidor pasará por defecto a la zona horaria UTC, como está resaltada en color rojo en la salida anterior. UTC es Tiempo Universal Coordinado (Coordinated Universal Time), el tiempo a cero grados de longitud. La utilización del Tiempo Universal (Universal Time) reduce cualquier confusión cuando su infraestructura abarca varias zonas horarias.
Si tiene diferentes requisitos y necesita cambiar su zona horaria, puede usar el comando timedatectl para hacerlo.
Primero, enumere las zonas horarias disponibles:
$ timedatectl list-timezones
Se imprimirá una lista de zonas horarias en su pantalla. Puede presionar ESPACIO para avanzar de página y b para subir de página. Una vez que encuentre la zona horaria correcta, anótela y luego pulse q para salir de la lista.
Ahora configure usted la zona horaria con el comando timedatectl set-timezone, asegurándose de reemplazar la parte resaltada a continuación con la zona horaria que encontró en la lista. Deberá usar sudo con timedatectl para realizar este cambio; en este caso lo configuraremos para la hora de la ciudad de Nueva York, EE. UU.:
$ sudo timedatectl set-timezone America/New_York
Usted puede verificar su ajuste ejecutando el comando date de nuevo:
$ date
Ejecución y visualización:
$ Wed 31 Jul 2019 02:08:43 PM EDT
La abreviatura de la zona horaria debería reflejar el nuevo valor elegido.
Ahora que ya sabemos cómo consultar el tiempo y configurar la zona horaria, vamos a asegurarnos de que el reloj sea sincronizado de manera apropiada.
Paso 2 — Verificando el estado de ntpd
De manera predeterminada Debian 10 ejecuta un servidor normal ntpd para mantener el reloj del sistema sincronizado con un grupo externo de servidores de hora. Podemos revisar si está en ejecución por medio del comando systemctl:
$ sudo systemctl status ntp
Ejecución y visualización:
● ntp.service - Network Time Service
Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago
Docs: man:ntpd(8)
Main PID: 429 (ntpd)
Tasks: 2 (limit: 1168)
Memory: 2.1M
CGroup: /system.slice/ntp.service
└─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .
La leyenda active (running) indica que el servicio ntpd fue levantado exitosamente. Para obtener más información acerca del estado de ntpd podemos utilizar el comando ntpq:
$ ntpq -p
Ejecución y visualización:
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
+18.104.22.168 22.214.171.124 2 u 12 64 377 39.381 1.696 0.674
+126.96.36.199 188.8.131.52 2 u 6 64 377 22.671 3.536 1.818
-zinc.frizzen.ne 184.108.40.206 3 u 43 64 377 12.012 1.268 2.553
-pyramid.latt.ne 220.127.116.11 2 u 11 64 377 69.922 2.858 0.604
+nu.binary.net 18.104.22.168 2 u 10 64 377 35.362 3.148 0.587
#22.214.171.124 126.96.36.199 2 u 65 64 377 42.380 1.638 1.014
+t1.time.bf1.yah 188.8.131.52 2 u 6 64 377 11.233 3.305 1.118
*sombrero.spider 184.108.40.206 2 u 47 64 377 1.304 2.941 0.889
+hydrogen.consta 220.127.116.11 2 u 45 64 377 1.830 2.280 1.026
-18.104.22.168 22.214.171.124 2 u 42 64 377 29.077 2.997 0.789
#horp-bsd01.horp 126.96.36.199 2 u 39 64 377 16.165 4.189 0.717
-ntpool1.603.new 188.8.131.52 2 u 46 64 377 27.914 3.717 0.939
ntpq es una herramienta de consulta para ntpd. El parámetro -p consulta información acerca de los pares (peers, en idioma inglés) a los cuales está conectado. Lo que usted visualice en su sistema puede ser ligeramente diferente, pero debería listar al menos la lista por defecto y unos cuantos más. Tenga siempre en cuenta que puede tomar unos pocos minutos para ntpd el establecer conexión con otros servidores.
Paso 3 — Cambiando a systemd-timesyncd
Es posible utilizar el componente integrado en systemd, el servicio timesyncd. Este software es una alternativa ligera a ntpd y está hecho expresamente para trabajar con systemd. Note usted, sin embargo, que no podrá ofrecer trabajar como servidor de hora, y es ligeramente menos sofisticado en las técnicas usadas para mantener la hora en sincronía. Si usted ejecuta sistemas distribuidos en tiempo real, tal vez usted quiera permanecer usando ntpd.
Para usar timesyncd, debemos primero desinstalar a ntpd:
$ sudo apt purge ntp
Luego iniciar el servicio timesyncd:
$ sudo systemctl start systemd-timesyncd
Ejecución y visualización:
Local time: Wed 2019-07-31 14:22:15 EDT
Universal time: Wed 2019-07-31 18:22:15 UTC
RTC time: n/a
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Esta orden muestra tanto el tiempo local, el tiempo universal (el cual puede ser el mismo que el local si no se ha cambiado la zona horaria) y alguna otra información sobre el estado del tiempo de red. La leyenda System clock synchronized: yes significa que el tiempo ha sido sincronizado exitosamente, y la cadena de caracteres NTP service: active indica que el servicio timesyncd está habilitado y en ejecución.
Conclusión
En este artículo hemos demostrado cómo visualizar el tiempo del sistema, cambiar la zona horaria, trabajar con ntpd, así como prescindir de él y cambiar a trabajar con el servicio timesyncd. Si usted tiene necesidades más sofisticadas en cuanto al tiempo exacto y que no hayamos cubierto aquí, usted puede acudir a la documentación oficial de NTP así como también visitar el Proyecto de Grupo NTP, un grupo global de voluntarios que mantienen gran parte de la infraestructura NTP en el mundo.
Autores: Brian Boucheron y Kathleen Juell.
Traducción y pruebas (capturas de pantalla): Jimmy Olano.