Este fin de semana noté que algunas de las tareas que había programado en un servidor no se estaban ejecutando a la hora correcta. El tema es que el sistema operativo no se había instalado con la zona horaria necesaria y después de buscar un poco, encontré como hacerlo en 3 sencillos pasos:

Pre requisito: sesión iniciada como root o con un usuario con privilegios sudo

Revisar la zona horaria actual

$ timedatectl

Como puedes ver en la salida a continuación, la zona horaria es establecida como UTC:

Local time: Tue 2020-11-17 15:26:38 UTC
Universal time: Tue 2020-11-17 15:26:38 UTC
RTC time: Tue 2020-11-17 15:26:39
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

La zona horaria del sistema se configura mediante el enlace simbólico /etc/localtime a un identificador de zona horaria binario en el directorio /usr/share/zoneinfo. Podemos ver la ruta a la que apunta el enlace simbólico usando el comando ls:

$ ls -l /etc/localtime

Cambiar la zona horaria usando el comando timedatectl

Antes de cambiar la zona horaria, necesitas conocer el identificador de la zona horaria que quieres usar. La convención de nombres para zona horaria usualmente usa el formato “Región/Ciudad”.

Para listar todas las zonas horarias disponibles, puedes listar los archivos en el directorio /usr/share/zoneinfo o usar el comando timedatectl.

$ timedatectl list-timezones

Salida

Local time: Tue 2020-11-17 09:31:39 CST
Universal time: Tue 2020-11-17 15:31:39 UTC
RTC time: Tue 2020-11-17 15:31:40
Time zone: America/Mexico_City (CST, -0600)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

Conclusión

En este artículo, mostramos como cambiar la zona horaria de tu sistema operativo Ubuntu Server 20.04. Espero que te sea de utilidad.