Todos los Sistemas Operativos, ya sea Linux, Unix, Windows, etc.; tienen diferentes funciones que controlar y manejar. Cada uno de ellos tienen diferentes funciones en específicos que administran un sin fin de cosas, algunas requieren procesamiento y mientras está en esa etapa de transformación pasa por los procesadores, memoria e incluso disco duro.
Hay muchas cosas que nuestro S.O. opera y maneja y algunas cosas las tiene sobre archivos de configuración que le permitirán saber qué hacer en determinadas cosas o qué valor presentar. Entre esos archivos de configuración encontramos uno que este post habla: El timezone de nuestro servidor o desktop. El timezone es la zona horaria que configuramos en nuestro S.O. para cada región y país; y cada uno tiene diferentes formatos que ya han sido estandarizados.
En México el día de hoy (29/10/16) se realizará el cambio de hora, debido al horario de verano y se realizará el retraso de una hora. Antes de que esto ocurra, vamos a ver cómo podemos revisar en nuestro S.O. que esté correctamente configurado para que pueda realizar el cambio sin inconveniente, de igual forma para otros países aplican los archivos que mencionaremos para que puedan revisar su configuración.
De igual manera, también podemos configurar un servidor NTP para que la fecha y hora se sincronicen en los diferentes servidores clients que se le asigne el NTP Server.
Vamos a empezar, para revisar los diferentes timezone que tenemos disponibles, basta con checar los siguientes archivos de configuración:
Para HP-UX: checar el archivo /usr/lib/tztab
Para Linux: checar /usr/share/zoneinfo
En primer lugar, debemos saber qué timezone tenemos configurado, lo podemos checar ejecutando el siguiente comando:
Actualizado: Para versiones de RHEL 5, no se usa la variable TZ
# echo $TZ
Para el caso de México, en un Sistema con Linux, podemos obtener la siguiente salida:
# echo $TZ
America/Mexico_City
Para el caso de México, en un Sistema con HP-UX, podemos obtener la siguiente salida:
# echo $TZ
CST6CDT
Para el caso de HP-UX, utilizamos el archivo de configuración llamado TIMEZONE y lo podemos encontrar en /etc, veamos un ejemplo:
# cat /etc/TIMEZONE
TZ=CST6CDT
export TZ
Existen 2 formas, ya sea que editemos el archivo TIMEZONE en HP-UX o ejecutemos el comando "set_parms timezone", obtendremos una salida parecida a lo siguiente:
Cuando se configura con set_parms nos pedirá el reinicio de nuestro servidor. Para el caso de configuración manual se puede matar las sesiones y aplicaciones que usan la zona horaria (reiniciar sesiones y aplicaciones).
Para el caso de RHEL, su forma de configuración es distinta aunque de igual manera vimos que podemos saber qué zona horaria está configurada con la variable TZ. En este caso en Linux tenemos un archivo llamado clock en el cual guarda su configuración de timezone, veamos un ejemplo de salida:
# cat /etc/sysconfig/clock
ZONE="America/Mexico_City"
La parte que debemos modificar es en la variable "ZONE", anteriormente vimos donde se encuentran las zonas horarias que tenemos disponibles en nuesto S.O. (/usr/share/zoneinfo):
drwxr-xr-x. 18 root root 4096 Oct 31 2015 right/
drwxr-xr-x. 18 root root 4096 Oct 31 2015 posix/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Etc/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Australia/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Asia/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Arctic/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Europe/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Antarctica/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Pacific/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Chile/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Brazil/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Mexico/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Canada/
drwxr-xr-x. 6 root root 4096 Oct 31 2015 America/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 US/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Indian/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Africa/
drwxr-xr-x. 2 root root 4096 Oct 31 2015 Atlantic/
Dentro de cada directorio tenemos un archivo de configuración para la zona horaria, por ejemplo para Europe tenemos los siguientes:
-rw-r--r--. 7 root root 3661 Jun 15 2015 Jersey
-rw-r--r--. 3 root root 2721 Jun 15 2015 Istanbul
-rw-r--r--. 7 root root 3661 Jun 15 2015 Isle_of_Man
-rw-r--r--. 2 root root 1883 Jun 15 2015 Helsinki
-rw-r--r--. 7 root root 3661 Jun 15 2015 Guernsey
-rw-r--r--. 1 root root 3035 Jun 15 2015 Gibraltar
-rw-r--r--. 2 root root 3533 Jun 15 2015 Dublin
-rw-r--r--. 1 root root 2134 Jun 15 2015 Copenhagen
-rw-r--r--. 2 root root 2407 Jun 15 2015 Chisinau
-rw-r--r--. 3 root root 1892 Jun 15 2015 Busingen
-rw-r--r--. 1 root root 2379 Jun 15 2015 Budapest
-rw-r--r--. 1 root root 2195 Jun 15 2015 Bucharest
-rw-r--r--. 1 root root 2944 Jun 15 2015 Brussels
-rw-r--r--. 2 root root 2246 Jun 15 2015 Bratislava
-rw-r--r--. 1 root root 2309 Jun 15 2015 Berlin
-rw-r--r--. 6 root root 1931 Jun 15 2015 Belgrade
-rw-r--r--. 7 root root 3661 Jun 15 2015 Belfast
-rw-r--r--. 1 root root 2245 Jun 15 2015 Athens
-rw-r--r--. 1 root root 1725 Jun 15 2015 Andorra
-rw-r--r--. 1 root root 2917 Jun 15 2015 Amsterdam
Dentro de los archivos de configuración podemos encontrar lo siguiente:
# strings /usr/share/zoneinfo/Europe/Paris
TZif2
WEST
CEST
WEMT
TZif2
WEST
CEST
WEMT
CET-1CEST,M3.5.0,M10.5.0/3
La forma de colocar el archivo de la zona horaria, es el directorio y el archivo, en nuestro ejemplo anterior en la variable ZONE debería ser:
ZONE="Europe/Paris"
Ya que editamos el archivo clock, debemos crear un simlink, este archivo simbólico es /etc/localtime y para ligarlo a la zona horaria configurada en la variable ZONE, lo haremos de la siguiente manera:
# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Con esto habremos configurado, lo último que necesitamos es reiniciar nuestro servidor o reiniciar las aplicaciones o sesiones que estén usando el timezone y puedan tomar el nuevo. Si tienes dudas o utilizas alguna otra forma de configurar el timezone, puedes indicarlo en los mensajes.
Bytes.