Jump to content
From ArchWiki

Esta traducción de systemd-timesyncd fue revisada el 2019-10-16. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Artículos relacionados

- systemd-networkd
- systemd

De la lista de correo de systemd:

  systemd-timesyncd es un demonio que se ha añadido para sincronizar el reloj del sistema a través de la red. Implementa un cliente SNTP. A diferencia de las implementaciones de NTP como chrony o el servidor de referencia NTP, este solo implementa un lado del cliente y no molesta con la complejidad completa de NTP, centrándose solo en consultar el tiempo de un servidor remoto y sincronizar el reloj local con él. A menos que tenga la intención de servir NTP a clientes en red o desee conectarse a relojes de hardware locales, este simple cliente NTP debería ser más que apropiado para la mayoría de las instalaciones. El demonio se ejecuta con privilegios mínimos y se conecta a networkd para operar solo cuando la conectividad de red esté disponible. El demonio guarda el reloj actual en el disco cada vez que se adquiere una nueva sincronización NTP, y utiliza esto para corregir, si es posible, el reloj del sistema antes del arranque, a fin de acomodar los sistemas que carecen de un RTC como el Raspberry Pi y los dispositivos integrados, y asegurarse de que el tiempo progrese de forma monotónica en estos sistemas, incluso si no siempre es correcto. Para hacer uso de este demonio, es necesario crear un nuevo usuario y grupo del sistema «systemd-timesync» en la instalación de systemd.

## Configuración

Inicie/active `systemd-timesyncd.service` que está disponible con systemd.

Al comenzar, systemd-timesyncd leerá el archivo de configuración de `/etc/systemd/timesyncd.conf`, que se ve así:

    /etc/systemd/timesyncd.conf

    [Time]
    #NTP=
    #FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    #RootDistanceMaxSec=5
    #PollIntervalMinSec=32
    #PollIntervalMaxSec=2048

Para añadir servidores de horas o cambiar los proporcionados, elimine el comentario de la línea correspondiente y enumere sus nombres de equipo o IP separados por un espacio. Por ejemplo, puede usar cualquier servidor proporcionado por the NTP pool project o utilizar uno de los predefinidos de Arch (también proporcionado por el proyecto de agrupación NTP):

    /etc/systemd/timesyncd.conf

    [Time]
    NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Para verificar su configuración, utilice `timedatectl show-timesync --all`:

    $ timedatectl show-timesync --all

    LinkNTPServers=
    SystemNTPServers=
    FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    ServerName=0.arch.pool.ntp.org
    ServerAddress=103.47.76.177
    RootDistanceMaxUSec=5s
    PollIntervalMinUSec=32s
    PollIntervalMaxUSec=34min 8s
    PollIntervalUSec=1min 4s
    NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=177.398ms, RootDispersion=142.196ms, Reference=C342F10A, OriginateTimestamp=Mon 2018-07-16 13:53:43 +08, ReceiveTimestamp=Mon 2018-07-16 13:53:43 +08, TransmitTimestamp=Mon 2018-07-16 13:53:43 +08, DestinationTimestamp=Mon 2018-07-16 13:53:43 +08, Ignored=no PacketCount=1, Jitter=0 }
    Frequency=22520548

Además de la configuración del demonio, los servidores NTP también se pueden proporcionar a través de una configuración systemd-networkd con la opción `NTP=` o, dinámicamente, a través de un servidor DHCP.

El servidor que NTP utilizará se determinará utilizando las siguientes reglas:

- Cualquier servidor NTP por interfaz obtenido de la configuración de `systemd-networkd.service(8)` o mediante DHCP, tendrán prioridad.
- Los servidores NTP definidos en `/etc/systemd/timesyncd.conf` se añadirán a la lista por interfaz en tiempo de ejecución y el demonio se pondrá en contacto con dichos servidores sucesivamente hasta que se encuentre uno que responda.
- Si no se obtiene información del servidor NTP después de completar los pasos anteriores, se utilizarán los nombres de equipos de servidor NTP o las direcciones IP definidas en `FallbackNTP=`.

Nota: El servicio escribe en un archivo local `/var/lib/systemd/timesync/clock` con cada sincronización. Esta ubicación está codificada y no se puede cambiar. Esto puede ser problemático para ejecutarlo en una partición raíz de solo lectura o tratar de minimizar las escrituras en una tarjeta SD.

## Utilización

Para activarlo e iniciarlo, simplemente ejecute:

    # timedatectl set-ntp true

El proceso de sincronización puede ser notablemente lento. Esto se debe presumir, por lo que debe esperar un poco antes de considerar que hay un problema. Para verificar el estado del servicio, utilice `timedatectl status`:

    $ timedatectl status

                   Local time: Thu 2015-07-09 18:21:33 CEST
               Universal time: Thu 2015-07-09 16:21:33 UTC
                     RTC time: Thu 2015-07-09 16:21:33
                    Time zone: Europe/Amsterdam (CEST, +0200)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no

Para ver información detallada del servicio, utilice `timedatectl timesync-status`:

    $ timedatectl timesync-status

           Server: 103.47.76.177 (0.arch.pool.ntp.org)
    Poll interval: 2min 8s (min: 32s; max 34min 8s)
             Leap: normal
          Version: 4
          Stratum: 2
        Reference: C342F10A
        Precision: 1us (-21)
    Root distance: 231.856ms (max: 5s)
           Offset: -19.428ms
            Delay: 36.717ms
           Jitter: 7.343ms
     Packet count: 2
        Frequency: +267.747ppm

## Solución de problemas

### systemd-timesyncd no puede iniciarse después de la actualización 242.0-1 update

Si el registro muestra este error:

    ExecStart=/usr/lib/systemd/systemd-timesyncd (code=exited, status=238/STATE_DIRECTORY)

Ejecute las siguientes órdenes para solucionar el problema:

    # rm -rf /var/lib/systemd/timesync
    # rm -rf /var/lib/private/systemd/timesync

## Véase también

- Forum: systemd-timesyncd is not syncing time
- Forum: Using systemd-timesync instead of NTP
- Git Sourcecode of timesyncd

Category:

- Network Time Protocol (Español)