LFCA: Aprenda a administrar la hora y la fecha en Linux - Parte 6


Este artículo es la Parte 6 de la serie LFCA; aquí, en esta parte, se familiarizará con los comandos generales de administración del sistema para administrar la configuración de fecha y hora en el sistema Linux.

El tiempo es crucial en cualquier sistema Linux. Múltiples servicios como crontab, anacron, copia de seguridad y restauración dependen del tiempo exacto para llevar a cabo sus tareas como se espera.

Linux tiene 2 tipos de relojes:

  • Reloj de hardware: este es el reloj que funciona con batería, también denominado reloj CMOS o RTC (reloj en tiempo real). El reloj funciona independientemente del sistema operativo y sigue funcionando incluso cuando el sistema está apagado, siempre que la batería CMOS esté presente.
  • Reloj del sistema (reloj del software): también se conoce como reloj del kernel. En el momento del arranque, el reloj del sistema se inicializa desde el reloj del hardware y toma el control desde allí.

Por lo general, existe una diferencia de tiempo entre los dos relojes de manera que se desvían gradualmente entre sí. Llegaremos a esto más adelante y le mostraremos cómo puede sincronizar estos relojes.

Por ahora, veremos cómo puede verificar la hora y la fecha en un sistema Linux.

Verificar la fecha y la hora en un sistema Linux

Hay dos utilidades principales que se utilizan para verificar la hora y la fecha en un sistema Linux. El primero es el comando de fecha. Sin argumentos, proporciona bastante información mostrada.

$ date

Friday 26 March 2021 11:15:39 AM IST

Para ver la fecha solo en formato de hora dd-mm-aa, ejecute el comando:

$ date +"%d-%m-%y"

26-03-21

Si solo desea ver la hora actual y nada más, use el comando:

$ date "+%T"

11:17:11

El comando timedatectl es una nueva utilidad que se usa en los sistemas Linux modernos como Ubuntu 18.04, RHEL 8 y CentOS 8. Es un reemplazo del comando date que era prominente en los sistemas antiguos SysVinit. Se puede utilizar para consultar y ajustar la hora en un sistema Linux.

Sin ninguna opción, el comando timedatectl imprime una serie de información como la hora local, la hora UTC, la hora RTC y la zona horaria, por mencionar algunos.

$ timedatectl

Cómo configurar una zona horaria en un sistema Linux

En un sistema Linux, el tiempo depende de la zona horaria configurada. Para verificar la zona horaria que está configurada en su sistema, ejecute el comando:

$ timedatectl | grep Time

De la salida en el fragmento de arriba, estoy en la zona horaria de África/Nairobi. Para ver las zonas horarias disponibles, ejecute el comando:

$ timedatectl list-timezones

Presione ENTER para desplazarse por la lista completa de las posibles zonas horarias que están disponibles.

Las zonas horarias también se definen en la ruta/usr/share/zoneinfo/como se muestra.

$ ls /usr/share/zoneinfo/

Hay un par de formas que puede utilizar para configurar la zona horaria. Con el comando timedatectl, puede establecer la zona horaria, por ejemplo, en América/Chicago, utilizando la sintaxis que se muestra.

$ timedatectl set-timezone 'America/Chicago'

La otra forma en que puede establecer la zona horaria es crear un enlace simbólico desde un archivo de zona horaria en la ruta/usr/share/zoneinfo a/etc/localtime. Por ejemplo, para establecer la zona horaria local en EST (hora estándar del este), emita el comando:

$ sudo ln -sf /usr/share/zoneinfo/EST /etc/localtime

Establecer fecha y hora en un sistema Linux

Para configurar la hora solo en un sistema Linux usando el formato HH: MM: SS (Hora: Minuto: Segundo), use la sintaxis siguiente

$ timedatectl set-time 18:30:45

Para establecer la fecha solo en formato AAAA-MM-DD (Año: Mes: Día), use la sintaxis:

$ timedatectl set-time 20201020

Para configurar la fecha y la hora, ejecute:

$ timedatectl set-time '2020-10-20 18:30:45'

NOTA: No se recomienda configurar manualmente la fecha y la hora de esta manera, ya que es probable que configure ajustes de fecha y hora incorrectos. De hecho, de forma predeterminada, la sincronización automática de la hora está activada para evitar que realice ajustes manuales de hora y fecha.

La forma más recomendada de establecer la hora es especificando la zona horaria en la que se encuentra como se muestra anteriormente o activando la sincronización automática de la hora con un servidor NTP remoto.

Establecer la sincronización automática de la hora mediante el servidor NTP

NTP es la abreviatura de Network Time Protocol, que es un protocolo de Internet que se utiliza para sincronizar automáticamente el reloj del sistema con un grupo de servidores NTP en línea.

Con el comando timedatectl, puede configurar la sincronización automática de la hora de la siguiente manera:

$ timedatectl set-ntp true

Para deshabilitar la sincronización automática de la hora NTP, ejecute:

$ timedatectl set-ntp false

Los comandos timedatectl y date son útiles herramientas de línea de comandos que pueden ayudarlo a verificar y ajustar su tiempo en Linux.