Habilitar sincronización del reloj del sistema

14

'timedatectl' está dando el siguiente resultado:

                      Local time: Wed 2018-06-13 18:08:51 IST
                  Universal time: Wed 2018-06-13 12:38:51 UTC
                        RTC time: Wed 2018-06-13 12:38:51
                       Time zone: Asia/Kolkata (IST, +0530)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

¿Cómo configurar el reloj del sistema sincronizado en sí?

CUIDADO
fuente

Respuestas:

10

Una forma de hacerlo es usar lo ntpque todavía funciona en Ubuntu 18.04. Ejecute el siguiente comando para instalar ntp.

sudo apt install ntp

Una vez instalado, puede ejecutar ntpq -ppara asegurarse de que funciona.

~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

Luego, /etc/crontabagregue en su archivo @reboot root /usr/sbin/ntpd -npara que ntpdse inicie automáticamente cuando el sistema se reinicie. Use su editor favorito como gedito mousepad, o lo que quiera:

pkexec gedit /etc/crontab

Debería verse así cuando se agrega la línea:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
@reboot     root    /usr/sbin/ntpd -n
#

Luego reinicie la computadora para que la configuración surta efecto.

~$ timedatectl status
                      Local time: Wed 2018-06-13 06:55:35 MDT
                  Universal time: Wed 2018-06-13 12:55:35 UTC
                        RTC time: Wed 2018-06-13 12:55:36
                       Time zone: America/Denver (MDT, -0600)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Si desea cambiar sus servidores a los servidores de Asia Pool, agréguelos a la # Use servers from the NTP Pool Project.parte del /etc/ntp.confarchivo de la siguiente manera:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

¡Espero que esto ayude!

Terrance
fuente
17

Se puede hacer sin implementar NTP de esta manera:

sudo nano /etc/systemd/timesyncd.conf  

Edite los detalles del servidor NTP

[Time]
NTP=ur.ntp.srv
FallbackNTP=ur.fallbackntp.srv

Entonces

sudo systemctl daemon-reload
sudo timedatectl set-ntp off
sudo timedatectl set-ntp on

y puedes consultarlo con

timedatectl status
Max Robbertze
fuente
También puede proporcionar una lista de servidores ntp (lista separada por espacios) en su timesyncd.confarchivo NTP=0.ur.ntp.srv 1.ur.ntp.srv:; También puede proporcionar un grupo de servidores (grupo global o específico de una región o país): pool.ntp.org/zone/@
Géraud hace
4

Lo siguiente funcionó para mí:

timedatectl set-ntp true

y entonces...

systemctl restart systemd-timesyncd

Ejemplo:

ingrese la descripción de la imagen aquí

tgogos
fuente
3

Opción de interfaz gráfica de usuario: vaya a "Configuración" -> "Detalles" -> "Fecha y hora" -> Active "Fecha y hora automáticas".

systemctl restart systemd-timesyncd podría ayudar

NZ Dev
fuente
3

Para aquellos que usan Ubuntu 18+ en instancias de AWS EC2, encontré que esto funcionó fantásticamente. Utiliza el servicio de sincronización de tiempo interno de AWS:

sudo apt install chrony
sudo nano /etc/chromny/chrony.conf

Agregue la siguiente línea antes de cualquier otra entrada del servidor:

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

y entonces

sudo /etc/init.d/chrony restart

La mejor parte de este método para instancias EC2 es que no tiene que modificar las reglas de su grupo de seguridad, incluso si su instancia no está conectada a Internet :)

Fuente

jtcotton63
fuente
2

Un caso relacionado que no es exactamente este, pero quiero agregarlo en alguna parte:

Es posible, como fue mi caso, que esta timedatectlsalida corresponda al puerto NTP bloqueado por su firewall.

En Ubuntu, puede permitir explícitamente las comunicaciones en el puerto NTP de 123 ejecutando el siguiente comando:

sudo ufw allow out from any to any port 123

Esto permitirá el tráfico saliente desde un servicio que se ejecuta en su PC usando cualquier combinación de puerto / protocolo de red a servicios que se ejecutan en una máquina remota que usa el puerto 123 con cualquier protocolo de red. Esto incluye servicios que se ejecutan en máquinas remotas que implementan el protocolo de tiempo de red, que es necesario para poder solicitar la hora desde una máquina remota.

usuario973021
fuente