Horario de verão no Linux e FreeBSD 2009/2010

Na época de horário de verão sempre há um pânico extra.

No Linux/FreeBSD e afins é possível se previnir, adicionar uma regra para mudar apartir de uma data específica.

O exemplo desse post será configurado o horário de verão para 2009/2010.

Nota: Linux
É necessário estar no diretorio /usr/share/zoneinfo/America.
Nota: FreeBSD
É necessário estar no diretorio /usr/share/zoneinfo.

Post relacionado

Criando o arquivo .zic com as regras de fuso

Para isto ser possível, segue abaixo a forma de criar essa regra.

cd /usr/share/zoneinfo/America

Primeiro, crie um arquivo .zic que conterá as regras.

Por exemplo, para alterar a regra para o fuso utilizando o horário de Brasília, crie o arquivo Sao_Paulo.zic e adicione o seguinte conteúdo:

Rule Brazil 2009 only - Oct 18 00:00 1 S
Rule Brazil 2010 only - Feb 21 00:00 0 -

Zone Brazil/East -3:00 Brazil BR%sT

A primeira linha, é o início que a data entrará em vigor e o relógio do sistema irá adiantar em 1 hora nessa data.

A segunda linha é o final do horário de verão e o relógio irá atrasar 1 hora.

A terceira linha contém o fuso horário que o arquivo é baseado.

Compilando o arquivo .zic

Isto feito, agora é só compilar o arquivo gerado para criar o novo localtime que utilizará magicamente da regra criada.

zic Sao_Paulo.zic

Após a compilação, será gerado o arquivo Sao_Paulo que o sistema utilizará para configurar o fuso.

Isto feito, copiando para o /etc as regras já entrarão em vigor no mesmo momento.

cp Sao_Paulo /etc/localtime
Share this post

1 comment

Join the conversation
  • Daniel Kühl Lima - 16/10/2009 reply

    É importante estar no diretório

    /usr/share/zoneinfo/America

    para editar e compilar o arquivo .zic, se não for assim, o horário não será acertado.

Join the conversation