El SysAdmin del 3er Mundo

todo lo que expliqué mientras nadie prestaba atención

systemd-timesyncd

| Comments

Mantener un reloj sincronizado y en hora, siempre ha sido un dilema. Algunas personas no reconocen la necesidad de esto; y además son tan imbéciles, que luego se quejan cuando la desfasada fecha de su computadora les impide conectarse a un sitio SSL.

En los servidores y en las estaciones de trabajo que se respeten; siempre ha sido una opción usar un cliente NTP. Pero los ntp, cuando la fecha no está en el día adecuado, no se toman la molestia de sincronizar. En los raspberry-pi eso puede llegar a ser un tremendo problema, ya que NO tienen reloj de hardware y ni siquiera conservan la fecha.

El tan criticado Systemd, tiene una solución para este problema. Sucia y burda, pero muy eficiente. Normalmente, los “clientes” NTP, son cliente y servidor. En el caso de systemd-timsyncd, no se tomaron la molestia de implementar un servidor; solamente un cliente minimalista. Además, guarda las sincronizaciones en un fichero, para determinar si tu reloj de hardware se adelante o atraza y contrarrestar dicho efecto.

Lo bueno que tiene es que agarra la fecha y hora de cualquier parte; luego, la setea sin chistar. La configuración es sencillísima. Localiza el fichero:

/etc/systemd/timesyncd.conf

Declárale un servidor principal y si te da la gana, uno o varios adicionales. A mi me quedó así:

/etc/systemd/timesyncd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# You can override the directives in this file by creating files in
# /etc/systemd/timesyncd.conf.d/*.conf.
#
# See timesyncd.conf(5) for details

[Time]
NTP=time.hcg.sld.cu
FallbackNTP=time.sld.cu time.microsoft.com

Generalmente, mi laptop está en el calixto, por eso puse mi servidor local como primario; pero si no lo estuviera, de seguro time.sld.cu sería alcanzable. En el dificilísimo caso de que estuviera de cara a internet, quizás responda el de microsoft, que no está malo. Por cierto, los comentarios del fichero son bastante útiles, vale la pena leerlos.

Por último, lo más importante, habilitar y arrancar el servicio:

systemctl start systemd-timesyncd.service

systemctl enable systemd-timesyncd.service

Para saber el estado del servicio, corre:

timedatectl

Te dirá la hora local y la UTC; te dirá además si está sincronizando por NTP. Con ese comando puede hacer un montón de operaciones, por ejemplo, setear la hora civilizadamente, ya que este la pone en el RTC también.

No existe juez más justo, que el pasar del tiempo.

Si este artículo te resultó interesante, considere donar 0.03 BTC: 1Kg4gu3e7u8HUw8bj5NbBciRg6Y56kuFCU

Comments