GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar la fecha y la hora en Linux

Este tutorial se centra en las técnicas para configurar la fecha y la hora en Linux usando timedatectl, NTP o date.

Como administrador del sistema, se le puede pedir que establezca la fecha del sistema en varios servidores .

Puede que estén mal configurados o sus zonas horarias podría no estar configurado correctamente.

Como consecuencia, algunos de sus programas pueden registrar fechas no válidas, lo que hace que, por ejemplo, no pueda inspeccionar algunos de los registros de su servidor.

En este tutorial, veremos cómo puede configurar correctamente la fecha en Linux para que coincida con su zona horaria geográfica actual.

Primero, vamos a echar un vistazo al comando timedatectl con la opción systemd-timesync . A continuación, instalaremos chrony o NTP servicios para sincronizar la fecha de nuestro sistema de manera eficiente.

Finalmente, vamos a utilizar la “fecha Comando para establecer estáticamente la fecha de nuestro sistema.

También vamos a discutir las diferencias entre esos métodos y cuál es posible que desee utilizar preferentemente.

Requisitos

Antes de comenzar, deberá tener privilegios sudo en su host para ejecutar algunos de los comandos.

Para asegurarse de ello, puede ejecutar el siguiente comando

$ sudo -l

User user may run the following commands on localhost:
   (ALL) ALL

Si no tiene privilegios de sudo en su cuenta, siga este tutorial para obtener sudo en sistemas basados ​​en Debian o en sistemas basados ​​en Red Hat (CentOS, RHEL)

Establecer fecha en Linux usando timedatectl

Ya sea que esté trabajando en Debian/Ubuntu o en RHEL/CentOS, la forma de establecer la fecha es la misma.

Para configurar la fecha, debe configurar la información de su zona horaria y (opcionalmente) activar el protocolo NTP para que su sistema se sincronice con los servidores NTP. Si no usa el protocolo NTP (con ntpd o chrony), su sistema usará el servicio de sincronización de tiempo de forma predeterminada.

Si su zona horaria está mal configurada, deberá modificar la información de su zona horaria.

Para consultar su zona horaria actual en Linux, puede ejecutar el comando timedatectl.

$ timedatectl

                      Local time: Wed 2019-10-16 22:26:23 UTC
                  Universal time: Wed 2019-10-16 22:26:23 UTC
                        RTC time: Wed 2019-10-16 22:26:24
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: inactive
                 RTC in local TZ: no

Digamos que quieres modificarlo.

Para enumerar las zonas horarias en Linux, utilice la opción "list-timezones opción ” con timedatectl .

$ timedatectl list-timezones

Como puede ver, las zonas horarias se presentan con la siguiente sintaxis:continente/región .

Para establecer su zona horaria en Nueva York, puede buscarla fácilmente usando grep.

$ timedatectl list-timezones | grep York
America/New_York

Para establecer la zona horaria, utilice el botón "set-timezone ” comando.

$ timedatectl set-timezone America/New_York

Para verificar la fecha actual de su sistema, debe ejecutar el comando timedatectl nuevamente.

$ timedatectl

                      Local time: Wed 2019-10-16 18:35:36 EDT
                  Universal time: Wed 2019-10-16 22:35:36 UTC
                        RTC time: Wed 2019-10-16 22:35:36
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: no
systemd-timesyncd.service active: inactive
                 RTC in local TZ: no

Sin embargo, su fecha actual aún no está sincronizada, deberá activar el servicio NTP para que se sincronice.

De forma predeterminada, si está trabajando con una distribución con systemd, debe tener el demonio systemd-timesync por defecto.

La principal diferencia entre systemd-timesync y NTP es que el demonio solo implementa un lado del cliente y no utiliza mecanismos complejos como NTP.

Para habilitar la sincronización de tiempo , simplemente ejecute este comando.

$ timedatectl set-ntp true

systemd-timesyncd.service active: true

Si prefiere usar chrony o NTP , las siguientes secciones describen cómo puede configurar NTP y crony para sincronizar la fecha de su sistema.

Establecer fecha en Linux usando chrony (NTP)

La forma más precisa de establecer la fecha en Linux es usar el protocolo ntp .

Como recordatorio rápido, el protocolo NTP se usa para sincronizar la hora entre diferentes servidores en una red.

Utilizará servidores de tiempo de referencia que se sincronizarán con su propio servidor mediante el cálculo de latencias para ponerse en contacto con los servidores de referencia.

Utilizando el protocolo NTP, podrás tener una fecha muy precisa en Linux .

Para establecer la fecha, vas a utilizar el chrony servicio.

En primer lugar, asegúrese de que el servicio timesyncd no se esté ejecutando en su host.

$ sudo systemctl stop systemd-timesyncd.service

Luego, asegúrese de que sus paquetes estén actualizados en su servidor.

$ sudo yum update

Luego, instale el paquete chrony usando YUM.

$ sudo yum install chrony           [RHEL, CentOS]
$ sudo apt-get install chrony       [Debian, Ubuntu]

En la mayoría de los casos, el servicio chrony podría estar instalado de forma predeterminada en su distribución.

Para habilitar e iniciar el servicio chrony, debe ejecutar los siguientes comandos.

$ sudo systemctl enable chronyd
$ sudo systemctl start chronyd

Verifique el estado de su servicio con el comando de estado.

$ sudo systemctl status chronyd

Ahora que chrony está instalado en su sistema, puede cambiar la fecha de su sistema ajustando la zona horaria de su sistema.

Tenga en cuenta que no tiene que configurar activar el protocolo NTP para el comando timedatectl ya que iniciar chrony desactivará automáticamente el daemon systemd-timesync para usar NTP.

Si quieres asegurarte de ello, aún puedes ejecutar el siguiente comando.

$ timedatectl set-ntp true

Ejecute el comando timedatectl nuevamente para asegurarse de que todo esté sincronizado.

$ timedatectl

                      Local time: Wed 2019-10-17 18:37:37 EDT
                  Universal time: Wed 2019-10-16 22:37:37 UTC
                        RTC time: Wed 2019-10-16 22:37:33
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: yes
       NTP service: active
                 RTC in local TZ: no

Nota :en lugar de tener "servicio NTP", aún puede tener la etiqueta "systemd-timesyncd.service active" establecida en sí. No significa que el servicio esté activo, pero significa que el host está usando chrony como una forma de sincronizar.

Además, puede ejecutar "fecha ” para verificar la fecha actual de su sistema.

$ date 
Thu Oct 17 13:16:10 EDT 2019

¡Impresionante!

Has configurado correctamente tu fecha en Linux (CentOS/RHEL) usando chrony.

Establecer fecha en Linux usando ntpd (NTP)

Como se describió anteriormente, usar el protocolo NTP es probablemente la forma más precisa de establecer su fecha en Ubuntu y Debian.

En primer lugar, va a instalar el servicio ntp en su host .

Para instalar un cliente NTP, simplemente ejecute el siguiente comando.

$ sudo apt-get install ntp     [Debian, Ubuntu]
$ sudo yum install ntp         [CentOS, RHEL]

De forma predeterminada, al ejecutar este comando se instalará y activará un NTP (Servicio horario de red). ) servicio en su host.

Para asegurarlo, obtenga el estado del servicio NTP.

$ sudo systemctl status ntp

De manera predeterminada, ejecutar o reiniciar el servicio NTP no activará el servicio NTP para el comando timedatectl.

Para activar la sincronización NTP, especifique el "set-ntp ” opción.

$ timedatectl set-ntp true

Nuevamente, ejecute un comando simple timedatectl para asegurarse de que todo funcione correctamente.

$ timedatectl

                      Local time: Wed 2019-10-17 18:37:37 EDT
                  Universal time: Wed 2019-10-16 22:37:37 UTC
                        RTC time: Wed 2019-10-16 22:37:33
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: yes
       systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Impresionante !

Has configurado correctamente la fecha en Linux usando ntp .

Establecer la fecha en Linux usando el comando de fecha

Una de las formas de establecer la fecha en Linux es usar el comando de fecha.

Uno de los principales defectos de este enfoque es el hecho de que nunca será tan preciso como configurar la zona horaria y sincronizarla con timesyncd o chronyd.

Sin embargo, todavía es posible hacerlo de esta manera.

En primer lugar, desactive la sincronización de hora en su host; de lo contrario, el servicio de sincronización borrará cada vez que cambie manualmente la fecha.

$ sudo timedatectl set-ntp false

Para establecer la fecha, use "fecha" con la opción "-s".

$ date -s <date>

Por ejemplo, usando el formato aaaa-MM-dd , puede configurar la fecha de esta manera.

$ date -s '2019-10-17 12:00:00'
Thu Oct 17 12:00:03 EDT 2019

$ date -s '23 October 2019 12:00:00'
Wed Oct 23 12:00:00 EDT 2019

También puede utilizar accesos directos para fijar la fecha fácilmente.

Si desea modificar solo el año, puede utilizar el botón “próximo año ” o “el año pasado ” acceso directo.

$ sudo date -s "next year"
Sat Oct 17 12:02:21 EDT 2020

$ sudo date -s "last year"
Thu Oct 17 12:02:43 EDT 2018

También puede elegir modificar solo el mes o el día con los siguientes atajos.

$ sudo date -s "next day"
Tue Oct 18 00:00:12 EDT 2019

$ sudo date -s "monday"
Mon Oct 21 00:00:00 EDT 2019

$ sudo date -s "next hour"
Wed Oct 21 13:00:19 EDT 2019

Sincronice el reloj de su hardware con la fecha de su sistema

Antes de continuar con sus tareas diarias de administración del sistema, puede ser una buena idea sincronizar el reloj de su hardware con la fecha de su sistema.

De esta manera, se asegura de que sus dos relojes no muestren fechas y horas diferentes.

Para sincronizar el reloj de su hardware con la fecha de su sistema, utilice el comando "hwclock" con la opción "–systohc".

$ sudo hwclock --systohc

$ sudo hwclock
2019-10-23 13:03:56.466724-0400

¡Genial!

Has sincronizado correctamente su reloj de hardware con la fecha actual del sistema.

Conclusión

En el tutorial de hoy, aprendió cómo puede configurar fácilmente la fecha en cualquier sistema Linux.

Aprendió que puede establecer la zona horaria y deja que el demonio systemd-timesyncd realizar la sincronización de tiempo.

Si está buscando técnicas de sincronización de tiempo más precisas y eficientes, aprendió que puede usar chrony o NTP para lograr este resultado.

También vio que es posible establecer la fecha de forma estática usando el comando de fecha.

Si está interesado en la administración del sistema Linux , tenemos muchos tutoriales sobre el tema.


Linux
  1. Cómo establecer o cambiar la zona horaria en Linux

  2. Establecer la fecha, la hora y la zona horaria en un servidor Linux

  3. Cómo ver la fecha y hora de reinicio del sistema Linux

  4. 7 ejemplos de comandos de fecha de Linux para mostrar y configurar la fecha y hora del sistema

  5. Establezca la fecha y la hora del sistema usando C++ en Linux

Cómo configurar la fecha, la hora y la zona horaria en RHEL 8

Cómo configurar la fecha y la hora en Rocky y AlmaLinux

Cómo encontrar la fecha y hora de instalación del sistema operativo Linux

Cómo configurar la fecha y la hora en el escritorio y el servidor Rocky Linux 8

Cómo configurar y desactivar variables de entorno en Linux

Cómo cambiar la fecha, la hora y la zona horaria en Linux Mint 20