¿Cómo Sincronizar La Hora Con Un Servidor En Raspberry Pi?
¿Tienes problemas con la configuración de la hora en Raspberry Pi?
¿O quizás quieras sincronizar la hora con otro servidor?
En este post, te enseñaré todo lo que necesitas saber sobre la sincronización de la hora en Raspberry Pi (y en Linux en general).
En una nueva instalación, una Raspberry Pi utiliza timedatectl para la sincronización de la hora. Los servidores pueden ser actualizados en el archivo de configuración, ubicado en /etc/systemd/timesyncd.conf. El servicio NTP también puede ser instalado si es necesario.
Explicaré cómo funciona la sincronización de la hora en Linux y cómo configurarla de la manera que quieras.
Compartiré las dos formas de hacerlo en una Raspberry Pi:
– Timedatectl: incluido en la instalación y bastante fácil de configurar.
– NTP: manera clásica de hacer esto en Linux, para una mayor compatibilidad con otros sistemas.
Y por último, te daré otros comandos útiles para la fecha y la hora en Raspberry Pi.
Si estás empezando con Raspberry Pi o Linux, tengo algo que puede ayudarte de inmediato.
Descarga mi hoja de trucos de comandos Linux gratis – es una guía de referencia rápida con todos los comandos esenciales que necesitas para avanzar con tu Raspberry Pi. Haz clic aquí para obtenerla gratis!
Introducción de la sincronización horaria
Antes de continuar con la información técnica y los comandos, quiero introducir cómo funciona la sincronización de tiempo en Linux, en Raspberry Pi y en la mayoría de los dispositivos modernos.
En una red, es crucial tener la misma hora en todos los ordenadores.
Por ejemplo, no puedes conectarte a los recursos compartidos de Active Directory o Samba si tu ordenador se retrasa en más de 5 minutos (revisa mi tutorial sobre cómo unirse a un Directorio Activo con una Raspberry Pi, en inglés).
Por lo tanto, hay que establecer sistemas de sincronización horaria en la red.
El protocolo NTP tiene esta función.
Básicamente, configuras tu ordenador para que pregunte la hora a otro ordenador, y que utilice la respuesta para establecer su hora actual (es un poco más complejo que eso, pero recordar esto ya es genial).
Normalmente, se tiene un servidor maestro en cada red que obtiene la hora actual de un servidor de Internet.
Y luego todos los ordenadores se sincronizan con este maestro.
En este post, te mostraré cómo hacer esta configuración usando timedatectl o NTP directamente.
Si necesitas más detalles sobre la teoría antes de seguir adelante, este vídeo es bastante bueno:
Por cierto, si estás buscando sólo para ajustar la fecha y la hora manualmente en su Raspberry Pi, hay formas más fáciles de hacerlo. No necesariamente tienes que cambiar nada de la sincronización de la hora.
Espera, ¡tengo algunas recomendaciones para ti!
Antes de continuar, te invito a descubrir algunos productos que he seleccionado cuidadosamente para ti. Creo que son esenciales para tu Raspberry Pi. Échales un vistazo y pídelos directamente en Amazon.
Una caja silenciosa y práctica | Un SSD de alto rendimiento para potenciar tu Pi | Una pantalla genial para liberar el televisor | Un teclado dedicado con touchpad |
Sincronización de la hora en Raspberry Pi: Timedatectl
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
¿Qué es Timedatectl en Raspberry Pi?
Timedatectl es una herramienta para configurar la fecha y la hora. Las versiones recientes de Raspberry Pi OS incluyen timedatectl por defecto.
El primer comando que te mostraré es cómo comprobar el estado actual:
timedatectl status
Esto debería darte algo como esto:
Así que tendrás:
- La hora local.
- La hora universal (lo mismo por defecto).
- La hora del RTC si está configurada (módulo no incluido en Raspberry Pi).
- La zona horaria actual (GMT por defecto).
- El estado actual de la sincronización horaria de la red.
Como puedes ver, mi Raspberry Pi ya está sincronizada con la hora por defecto (excepto la zona horaria).
Comandos Timedatectl
Antes de ir más allá en la configuración de timedatectl, quiero mostrarte algunos comandos útiles que puedes usar directamente.
Lista de zonas horarias
Si necesitas cambiar la zona horaria por defecto, primero debes conocer todos los valores disponibles.
Para ello, utilice este comando:
timedatectl list-timezones
Como la lista es grande, puedes filtrarla con el comando grep:
timedatectl list-timezones | grep America timedatectl list-timezones | grep Sydney
Anota su zona horaria local y utilícela con el siguiente comando.
Establecer la zona horaria
Para establecer la zona horaria actual, utiliza este comando:
sudo timedatectl set-timezone <time zone>
Por ejemplo:
sudo timedatectl set-timezone America/New_York
sudo timedatectl set-timezone Europe/Paris
sudo timedatectl set-timezone Australia/Sydney
Vuelve a utilizar el estado de timedatectl para comprobar que la hora actual es correcta.
También puedse cambiar la zona horaria en raspi-config > Localization options > Change time zone.
Ajustar la hora manualmente
También puedes ajustar la hora manualmente con timedatectl.
He aquí cómo:
sudo timedatectl set-time 'Y:M:D HH:mm:ss'
sudo timedatectl set-time 'Y:M:D'
sudo timedatectl set-time 'HH:mm:ss'
Por ejemplo:
sudo timedatectl set-time '12:00:00'
Pero para ello, es necesario desactivar la sincronización horaria (véase el párrafo siguiente).
Activar o desactivar la sincronización horaria
Si quieres desactivar o activar la sincronización horaria, utiliza estos comandos:
sudo timedatectl set-ntp false
sudo timedatectl set-ntp true
Nota: es posible que tengas que reiniciar la Raspberry Pi para aplicar este cambio (ver comentarios).
Eso es todo, ahora conoces los comandos básicos de timedatectl.
Sincronizar la hora con un servidor: el archivo de configuración Timedatectl
A continuación se explica cómo configurar la sincronización horaria con un servidor mediante el uso de timedatectl:
- Abrir el archivo de configuración:
sudo nano /etc/systemd/timesyncd.conf
- Comenta la línea que comienza con FallbackNTP y sustituye los servidores por defecto por sus servidores de tiempo (en Internet o desde la red local).
- Por ejemplo:
[Time]
#NTP=
FallbackNTP=0.us.pool.ntp.org 1.us.pool.ntp.org - Guardar y salir
Es posible que sea necesario reiniciar el sistema para actualizar la configuración, pero la fecha y la hora estarán sincronizadas con los servidores definidos en este archivo de configuración.
NTP
Introducción al NTP
La otra forma de hacer la sincronización de la hora en Linux es utilizar NTP.
Aunque Debian y Ubuntu lo están sustituyendo por timedatectl en las nuevas versiones, sigue siendo un software común en los sistemas Linux.
No estoy seguro de entender todas las diferencias entre ambos y por qué se están moviendo a timedatectl.
Pero creo que timedatectl es para los usuarios, fácil de usar y de configurar.
Y NTP es probablemente mejor funcionando como servidor, para sincronizar la hora con él y tener más opciones de configuración.
Configuración NTP
Instalación de NTP
Como he dicho, NTP no está disponible por defecto en Raspberry Pi OS.
Tienes que instalarlo con apt:
sudo apt install ntp
Configuración NTP
El archivo de configuración para NTP está disponible aquí: /etc/ntpd.conf
Puedes editarlo para establecer un nuevo servidor para la sincronización de la hora (líneas que comienzan con «pool»).
Si quieres usar tu Raspberry Pi como servidor NTP, es también en este archivo donde puedes cambiar la configuración del servidor (restringir el acceso, difundir la hora, …).
Comandos NTP
NTP tiene menos comandos que timedatectl ya que todo está en el archivo de configuración.
Pero puedes usar este para gestionar el demonio del servidor ntp:
service ntp status | start | stop | restart
NTPDate
ntpdate es un comando adicional que puedes instalar y utilizar para forzar la sincronización de la hora.
Instalación:
sudo apt install ntpdate
Comprueba tu retraso actual en comparación con un servidor:
sudo ntpdate -q 0.us.pool.ntp.org
En mi caso obtuve un desfase de 0,005s. Esto confirma que el servidor NTP está funcionando bien.
Arregla el retraso ahora:
El demonio NTP arreglará el retraso paso a paso.
Pero si quieres arreglarlo ahora, puedes usar:
sudo service ntp stop
sudo ntpdate 0.us.pool.ntp.org
sudo service ntp start
Es necesario detener el demonio NTP antes de utilizar ntpdate para liberar el puerto.
Obtendrás algo así:
Vídeo
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Aquí tienes un vídeo que te muestra exactamente el proceso paso a paso para hacerlo:
También puedes suscribirte para ver todos los vídeos de noticias en tu feed de YouTube:
PREGUNTAS FRECUENTES
¿Cómo puedo sincronizar la hora en mi Raspberry Pi?
La sincronización de la hora está activada por defecto en Raspberry Pi OS. Puedes cambiar la zona horaria con raspi-config o la herramienta de configuración de la Raspberry Pi, para establecer la hora correcta en tu sistema. En el primer arranque, el menú de bienvenida también le preguntará su zona horaria.
¿Cómo puedo ajustar manualmente la fecha y la hora en Raspberry Pi?
Como regla general, utilizarás raspi-config para establecer la fecha y la hora en una versión Lite o la herramienta de configuración de Raspberry Pi si tienes un entorno de escritorio. También puede utilizar el comando sudo timedatectl set-time ‘HH:mm:ss’ para establecer la hora en un solo comando.
¿Cómo puedo encontrar la fecha y la hora en mi Raspberry Pi?
Con una versión de escritorio, la fecha y la hora se muestran en la esquina superior derecha, pero puedes escribir «date» en un terminal para obtener la fecha y la hora actuales en cualquier distribución de Linux.
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
En pocas palabras
Comandos Timedatectl
Comando | Descripción |
---|---|
timedatectl status | Mostrar la configuración actual |
timedatectl list-timezones | Lista de las zonas horarias que puede utilizar |
sudo timedatectl set-timezone <zone> | Establecer tu zona horaria actual |
sudo timedatectl set-time <date-time> | Ajustar la fecha/hora manualmente |
sudo timedatectl set-ntp <true/false> | Activar o desactivar la sincronización horaria |
Comandos NTP
Comando | Descripción |
---|---|
sudo apt install ntp ntpdate | Instalar NTP y ntpdate |
service ntp status | start | stop | restart | Gestionar el servicio NTP |
sudo ntpdate -q 0.us.pool.ntp.org | Comprueba el tiempo de retraso en comparación con un servidor |
sudo ntpdate 0.us.pool.ntp.org | Cambiar el servidor de sincronización (el servicio NTP debe estar desactivado) |
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Conclusión
Ahora sabes cómo cambiar la fecha y la hora en tu Raspberry Pi y cómo sincronizar el reloj de varios ordenadores Linux en la misma red.
Esto puede parecer no tan útil en casa o en una red pequeña, pero es un componente esencial en las grandes redes.
Más tutoriales como éste en RaspberryTips:
- 27 consejos para principiantes de Raspberry Pi
- Crear un nuevo usuario en Raspberry Pi
- Instale Nagios y controle el tiempo de sus dispositivos. (en inglés)
Cuando estés preparado, aquí tienes un atajo para ti:
Domina tu Raspberry Pi en 30 días: Si buscas los mejores consejos para convertirte en un experto en Raspberry Pi, este libro es para ti. Aprende habilidades útiles de Linux y practica múltiples proyectos con guías paso a paso.