La sincronización de la hora de un sistema operativo es parte integral de las implementaciones de software modernas. La sincronización de tiempo puede ayudar a garantizar que sus registros se registren en el orden correcto o que las actualizaciones de la base de datos se apliquen correctamente, previniendo problemas como la corrupción de datos u otros problemas que son difíciles de depurar.
Afortunadamente, Ubuntu 18.04, 20.04 y 22.04 tienen sincronización horaria integrada y activada de forma predeterminada mediante el servicio timesyncd de systemd.
Este artículo asume que posees los conocimientos mínimos de Linux, sabes cómo usar la terminal, y lo más importante, conoces tu servidor. La configuración es simple y se asume que estás ejecutando la terminal con la cuenta de root (si se utiliza Ubuntu se puede utilizar el comando «sudo su» para acceder al usuario root), si no es así, deberás adicionar ‘sudo’ a los comandos para obtener los privilegios de root.
Configuración
El primer paso a realizar es la verificación de la configuración horaria del sistema operativo con el comando date:
date
Con el comando anterior se obtendrá un resultado similar al siguiente:
Mon 18 Apr 2022 02:10:03 AM -04
El el caso de que la zona horaria no se la correcta, se la debe cambiar, para esto es posible ver las zonas horarias disponibles con el comando:
timedatectl list-timezones
Para configurar la zona horaria se puede utilizar el comando timedatectl set-timezone reemplazando la parte resaltada con la zona horaria que encontró en la lista anterior:
timedatectl set-timezone America/La_Paz
Sincronización horaria con un servidor NTP
Se puede usar timesyncd en lugar de ntpd.timesyncd funciona de manera similar al conectarse a los mismos servidores de tiempo NTP, pero es liviano.
Para verificar la configuración se puede utilizar el comando:
timedatectl status
Si ne el anterior resultado NTP service se muestra como inactivo, se puede activar mediante el comando:
timedatectl set-ntp on
Para configurar el servidor NTP se debe verificar que el servicio systemd-timesyncd este instalado mediante el siguiente comando:
systemctl start systemd-timesyncd
Si se obtiene un resultado similar al siguiente, entonces el servicio no está instalado:
Failed to start systemd-timesyncd.service: Unit systemd-timesyncd.service not found.
Para instalarlo ejecutar el comando:
apt install systemd-timesyncd
Una vez instalado, se debe modificar el archivo timesyncd.conf para configurar el servidor NTP:
nano /etc/systemd/timesyncd.conf
Solo es necesario agregar el IP del servidor NTP si se tiene un servidor secundario se lo puede agregar en el atributo FallbackNTP, el contenido del archivo sería similar al siguiente:
[Time] NTP=192.168.1.2 FallbackNTP=ntp.ubuntu.com RootDistanceMaxSec=5 PollIntervalMinSec=32 PollIntervalMaxSec=2048
Para aplicar los cambios realizar será necesario reiniciar el servicio:
systemctl restart systemd-timesyncd.service
Para validar que se esta realizando la sincronización ejecutaremos:
systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-04-14 00:58:40 -04; 2 days ago Docs: man:systemd-timesyncd.service(8) Main PID: 837 (systemd-timesyn) Status: "Initial synchronization to time server 192.168.1.2:123 (192.168.1.2)." Tasks: 2 (limit: 19104) Memory: 2.6M CGroup: /system.slice/systemd-timesyncd.service └─837 /lib/systemd/systemd-timesyncd Apr 14 00:58:40 srv01 systemd[1]: Starting Network Time Synchronization... Apr 14 00:58:40 srv01 systemd[1]: Started Network Time Synchronization. Apr 14 00:58:46 srv01 systemd-timesyncd[837]: Network configuration changed, trying to establish connection. Apr 14 00:58:47 srv01 systemd-timesyncd[837]: Initial synchronization to time server 192.168.1.2:123 (192.168.1.2). Apr 14 00:59:13 srv01 systemd-timesyncd[837]: Initial synchronization to time server 192.168.1.2:123 (192.168.1.2).
Si el servicio se muestra como active (running), pero no se muestra que se esté sincronizando con el IP del servidor NTP, entonces existe un error en la configuración.
Si se esta utilizando un servidor Windows como servidor NTP, en algunas ocasiones puede producirse un problema de sincronización para solucionarlo solo se deberá modificar el valor de RootDistanceMaxSec, el contenido del archivo /etc/systemd/timesyncd.conf quedaría de la siguiente manera:
[Time] NTP=192.168.1.2 FallbackNTP=ntp.ubuntu.com RootDistanceMaxSec=30 PollIntervalMinSec=32 PollIntervalMaxSec=2048
Para obtener más información, puede visitar la documentación oficial https://manpages.ubuntu.com/manpages/xenial/man1/timedatectl.1.html
Debe estar conectado para enviar un comentario.