sudo: Jack of all trades, master of some

¿Por qué se adelantaron al cambio de horario mis servidores?

2 comentarios

Hoy en la mañana (muy mal por mí) me resultó extraño ver que algunos de mis servidores se habían adelantado al cambio de horario. Primero lo primero: confirmé que la zona horaria era la correcta, que la sincronización de tiempo por NTP estuviera funcionando sin problemas. Segundo, lo segundo: comprobé con alguno de los colegas si tenían el mismo síntoma y en efecto, lo tenían, pero resultaba ser que ninguno podía resolver el problema. Gracias a uno de los colegas, que me dio un norte pudimos encontrar el por qué.

Resulta que el Congreso de los Estados Unidos estableció como ley en el año 2005 el horario de ahorro de energía. En esta nueva ley, el horario comenzaba a regir en el segundo domingo de marzo y terminaba el primer domingo de noviembre. La ley se hizo vigente en los Estados Unidos en el año 2007 y sería el estándar hasta que el Congreso de los Estados Unidos la modificara nuevamente.

En el año 2006, los archivos de zonas horarias para Linux fueron publicados con los cálculos necesarios para realizar estos cambios. La mayoría de los sistemas deberían haber cambiado automáticamente, pero si nuestros sistemas no actualizaron automáticamente por supuesto que el cambio no se haría en la fecha correcta.

¿Cómo verificar estos cálculos en nuestros sistemas?

zdump -v America/Havana | grep 2013

Este es el resultado de ejecutar el comando anterior en uno de los servidores que aun tenían el horario vigente:

zdump -v America/Havana | grep 2013
America/Havana  Sun Mar 10 04:59:59 2013 UTC = Sat Mar  9 23:59:59 2013 CST isdst=0 gmtoff=-18000
America/Havana  Sun Mar 10 05:00:00 2013 UTC = Sun Mar 10 01:00:00 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Nov  3 04:59:59 2013 UTC = Sun Nov  3 00:59:59 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Nov  3 05:00:00 2013 UTC = Sun Nov  3 00:00:00 2013 CST isdst=0 gmtoff=-18000

Nótese que el horario entra en vigencia a partir del 10 de marzo de 2013 y termina el 3 de noviembre de 2013.

Este es el resultado de ejecutar el mismo comando en uno de los servidores que se adelantaron al cambio:

zdump -v America/Havana | grep 2013
America/Havana  Sun Mar 10 04:59:59 2013 UTC = Sat Mar  9 23:59:59 2013 CST isdst=0 gmtoff=-18000
America/Havana  Sun Mar 10 05:00:00 2013 UTC = Sun Mar 10 01:00:00 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Oct 27 04:59:59 2013 UTC = Sun Oct 27 00:59:59 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Oct 27 05:00:00 2013 UTC = Sun Oct 27 00:00:00 2013 CST isdst=0 gmtoff=-18000

Nótese que en este caso el horario comienza el mismo 10 de marzo de 2013 pero termina el 27 de octubre de 2013.

En el caso del primer servidor se trataba de un Debian Wheezy y el segundo Debian Squeeze, es evidente que estos cálculos no se actualizaron en Squeeze.

¿Cómo resolver el problema?

aptitude update && aptitude full-upgrade

Solamente actualizar el paquete tzdata que ya incluye los cambios necesarios.

Después de actualizar el paquete y verificar los cambios, ya todo funciona a la perfección.

zdump -v America/Havana | grep 2013
America/Havana  Sun Mar 10 04:59:59 2013 UTC = Sat Mar  9 23:59:59 2013 CST isdst=0 gmtoff=-18000
America/Havana  Sun Mar 10 05:00:00 2013 UTC = Sun Mar 10 01:00:00 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Nov  3 04:59:59 2013 UTC = Sun Nov  3 00:59:59 2013 CDT isdst=1 gmtoff=-14400
America/Havana  Sun Nov  3 05:00:00 2013 UTC = Sun Nov  3 00:00:00 2013 CST isdst=0 gmtoff=-18000

Nota

No sé si Cuba sigue el estándar de los Estados Unidos para el cambio de horario, en varias ocasiones me ha sucedido que los sistemas que administro han cambiado la hora después o antes de lo puesto en vigor por las autoridades cubanas. Si alguien conoce los estándares para Cuba en relación con el cambio de horario, sería muy útil que compartiera la información para conocer del tema.

Comentarios desactivados
  1. Saludos,

    Uso debian 6 y me paso lo mismo, cuando pongo el comando me pone


    root@vserver01:~# zdump -v America/Havana | grep 2013
    America/Havana Sun Mar 10 04:59:59 2013 UTC = Sat Mar 9 23:59:59 2013 CST isdst=0 gmtoff=-18000
    America/Havana Sun Mar 10 05:00:00 2013 UTC = Sun Mar 10 01:00:00 2013 CDT isdst=1 gmtoff=-14400
    America/Havana Sun Oct 27 04:59:59 2013 UTC = Sun Oct 27 00:59:59 2013 CDT isdst=1 gmtoff=-14400
    America/Havana Sun Oct 27 05:00:00 2013 UTC = Sun Oct 27 00:00:00 2013 CST isdst=0 gmtoff=-18000

    ahora a la hora de actualizar me pone lo siguiente

    root@vserver01:~# aptitude update tzdata
    E: La orden «update» no toma argumentos

    1. oneohthree 6 años atrás
      @Salbi

      Sí, craso error mío, debe ser:

      aptitude upgrade tzdata

      Gracias por la corrección.