Cambiar zona horaria en Ubuntu

Si usáis servidores de Amazon Web Services, como yo, sabréis que todos los servidores que se crean están en la zona horaria UTC.
Normalmente no suele molestar, pero eso si lo tienes que tener en cuenta si vas a montar una pagina web y no quieres que aparezca con dos horas menos.


También esto vale para cualquier servidor Ubuntu.

Para poder cambiarlo primero debemos saber que fecha y que día muestra el servidor.

comandoit@comandoit:~# date

El comando Date nos mostrara el siguiente resultado

Tue Jul  7 18:22:53 CEST 2020

Ahora verificado que hora y que fecha nos aparece, vamos a configurar  tu servidor correctamente basado según tu zona horaria.

Para ello vamos a ejecutar el comando para que nos muestre todas las zonas horarias.

comandoit@comandoit:~# timedatectl list-timezones

Nos mostrara una lista larguísima, pero tener paciencia que veréis como aparece vuestra zona horaria.

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum

Una vez que localicemos nuestra zona horaria, debemos copiarla para ejecutarlo en el siguiente comando (Yo por ejemplo ejecuto la de Madrid).

comandoit@comandoit:~# timedatectl set-timezone Europe/Madrid

Después de la ejecución del comando, os debería haber cambiado la hora y la fecha en caso de que también estuviera mal.
Podéis comprobarlo con el comando date.

comandoit@comandoit:~# date
Tue Jul  7 20:22:53 CEST 2020

En la versión de Ubuntu 18.04 puede ocurrir que no este activada la sincronización de las zonas horarias.

Por eso para activar la sincronización de las zonas horarias, debemos ejecutar el siguiente comando.

comandoit@comandoit:~# timedatectl set-ntp on

Para ver si esta todo activado ejecutamos el siguiente comando.

 Local time: Tue 2020-07-07 20:22:53 CEST
                  Universal time: Tue 2020-07-07 18:22:53 UTC
                        RTC time: Tue 2020-07-07 18:22:53
                       Time zone: Europe/Madrid (CEST, +0200)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Como podéis ver el parámetro de System clock synchronized nos aparece activado.

Con esto ya lo tenéis configurado en la zona horaria que queráis.