CentOS: cómo configurar la fecha, la hora, la zona horaria y la sincronización NTP

En este artículo, le mostraremos cómo configurar la hora, la fecha, la zona horaria, sincronizar la hora con un servidor NTP y solucionar problemas típicos en CentOS Linux.

Hay dos tipos de relojes en los servidores: hardware uno (reloj en tiempo real) que funciona incluso si un servidor está apagado y el sistema operativo software reloj. La hora de estos relojes puede diferir. Después de iniciar el sistema operativo, el reloj del software se basa en uno de hardware y puede ser ajustado por el sistema operativo.
La mayoría de las aplicaciones utilizan la hora del reloj del software en su funcionamiento.

Hwclock: Configuración de la hora del hardware

Hwclock se utiliza para comprobar la hora del hardware en Linux:

  • hwclock --localtime – comprobar la hora del hardware sin corrección
  • hwclock --utc – muestra la hora si el reloj del hardware muestra la hora UTC

# hwclock --localtime

2020-10-12 06:12:02.912866-04:00

# hwclock --utc

2020-10-12 02:12:18.915319-04:00

Para configurar la hora del hardware de acuerdo con la hora del sistema, ejecute este comando:
# hwclock --systohc
Para configurar el tiempo de hardware que desea, ejecute lo siguiente:
# hwclock --set --date "11 Oct 2020 17:30"

hwclock en linux

Configuración manual de la hora en CentOS

En Linux, fecha o timedatectl Las herramientas se utilizan para comprobar y configurar la hora del software. Si llamas fecha sin ningún parámetro, mostrará la hora actual en su servidor:

# date

Sun Oct 11 22:14:54 EDT 2020

Si desea configurar la hora manualmente, puede usar fecha con parámetros adicionales:

# date MMDDhhmm

Por ejemplo:

# date 10261740

establecer centos de fecha

Para obtener información ampliada sobre la fecha, la hora, la zona horaria, la configuración de sincronización, la configuración del horario de verano (DST), timedatectl se utiliza. Proporciona información más detallada sobre la configuración de la hora en un servidor.

herramienta timedatectl en linux centos

Timedatectl también permite cambiar la hora:

# timedatectl set-time '2020-10-11 17:51:00'

¿Cómo configurar la zona horaria en CentOS?

Para configurar la hora de acuerdo con su zona horaria en CentOS Linux, puede cambiarla manualmente. Para hacerlo, puede utilizar dos herramientas:

Para cambiar una zona horaria usando timedatectl, ejecute este comando:

# timedatectl set-timezone Canada/Pacific
# date

timedatectl set-timezone

O puedes usar tzdata. Para usar este método, reemplace el archivo / etc / localtime con el que necesitas. La lista completa de zonas horarias se encuentra en /usr/share/zoneinfo/ directorio. Cambiemos una zona horaria a Canadá / Pacífico. Haga una copia de seguridad del archivo de locatime actual:

# mv /etc/localtime /etc/localtime.bak

Cree un enlace simbólico a la zona horaria que desea establecer:
# ln -s /usr/share/zoneinfo/Canada/Pacific /etc/localtime

Configurar CentOS para sincronizar la hora con los servidores de hora NTP

Puede configurar la sincronización automática de la hora en su host con un servidor NTP (Protocolo de tiempo de red) externo. Para hacerlo, debe instalar el servicio ntp. Por ejemplo, puede instalarlo usando yum en CentOS 7:

# yum install ntp -y

Después de la instalación, inicie el servicio ntpd y agréguelo al inicio:

# systemctl start ntpd.service
# systemctl enable ntpd.service

Asegúrese de que el servicio se esté ejecutando:

# service ntpd status

Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-10-11 15:37:33 +06; 5min ago
Main PID: 3057 (ntpd)
CGroup: /system.slice/ntpd.service
└─3057 /usr/sbin/ntpd -u ntp:ntp -g

Especifique los servidores NTP para sincronizar la hora con in /etc / ntp.conf:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

El tiempo se sincroniza a su vez. Si el primer servidor NTP no está disponible, se utiliza el segundo, etc.

Puede sincronizar la hora con el servidor NTP especificado manualmente usando este comando:

# ntpdate 192.168.1.23

Por defecto, ntpd habilita el «modo de 11 minutos». Significa que la hora se sincronizará cada 11 minutos. Si no puede utilizar el ntpd demonio, puede configurar la sincronización de tiempo usando cron. Agregue el siguiente comando a cron:

# ntpdate pool.ntp.org

¿Cómo sincronizar la hora en CentOS 8 usando Chronyd?

En CentOS 8 tendrás que usar cronicidad para sincronizar la hora, ya que ntp y ntpdate se han eliminado de los repositorios oficiales.

Los principales beneficios de chrony son:

  • Alta velocidad y precisión de sincronización de tiempo;
  • Operación adecuada si no tiene acceso al reloj maestro (ntpd requiere solicitudes regulares);
  • De forma predeterminada, la hora no se modifica inmediatamente después de la sincronización para evitar problemas en la ejecución de programas;
  • Utiliza menos recursos.

Por defecto, cronicidad ya está instalado en CentOS Linux, pero si no lo tiene por alguna razón, instálelo:

# dnf install chrony

Como cualquier otro servicio, Chrony debe iniciarse y agregarse al inicio después de la instalación:

# systemctl start chronyd
# systemctl enable chronyd

Verifique el estado del servicio de chronyd:

# systemctl status chronyd

systemctl status chronyd

Para asegurarse de que la sincronización de la hora esté funcionando, ejecute este comando:

# timedatectl status

NTP Service: active

timedatectl status Servicio NTP: activo

El archivo de configuración de Chrony es /etc/chrony.conf. Especifique la lista de servidores NTP que desea utilizar para la sincronización. Igual que ntp, chrony tiene una interfaz de línea de comandos: Chronyc. Para ver la información sobre las opciones de sincronización de la hora actual, ejecute este comando:

# chronyc tracking

Para ver la información sobre los servidores de sincronización:

# chronyc sources

Si desea establecer la fecha y la hora específicas manualmente, puede usar fecha, pero deshabilitar previamente el Chronyd demonio.

Problemas comunes de sincronización de tiempo en CentOS

En esta sección, describiré los errores típicos que aparecen al trabajar con timedatectl, ntp.

Durante la sincronización manual de la hora, puede encontrar este error:

# ntpdate pool.ntp.org

ntpdate [26214]: the NTP socket is in use, exiting

Esto significa que el ntpd El daemon se está ejecutando y está impidiendo la sincronización manual de la hora. Para sincronizar manualmente la hora, detenga el demonio ntpd:

# service ntpd stop

Y vuelva a ejecutar la sincronización.

El mismo error puede ocurrir cuando se trabaja con timedatectl:

Failed to set time: Automatic time synchronization is enabled.

Debe deshabilitar la sincronización automática en timedatectl:

# timedatectl set-ntp 0

Y ejecute este comando para configurar la fecha y hora que desee:

# timedatectl set-time '2020-11-12 17:41:00'

Al trabajar con zonas horarias, puede ocurrir que no estén instaladas en su servidor y no pueda crear un enlace simbólico para la hora local. Para que las zonas horarias estén disponibles en su host, instale la herramienta tzdata:

# yum install tzdata -y

Además, puede enfrentar algunos errores durante la sincronización manual como el siguiente:

11 Oct 21:11:19 ntpdate[897482]: sendto(xx.xx.xx.98): Operation not permitted

En este caso, verifique sus reglas de firewalld / iptables y asegúrese de que el puerto UDP 123 esté abierto en su servidor. Además, es posible que algunos hosts NTP no estén disponibles durante la validación.

Artículos Interesantes