Configurando o Horário de Verão no Linux

Sabendo-se que no Brasil os horários de verão não possuem dias fixos para início e fim no calendário, devemos, a cada ano que passa, ajustar manualmente nosso TimeZone. Para fazer isso no Linux é relativamente simples.

Primeiro devemos criar um arquivo informando as regras, que indicam o início e fim do horário de verão.

Criaremos então um arquivo qualquer e com a seguinte sintaxe (campos separados por tabulação):

Rule    <nome>    <de>    <para>    <tipo>    <mes>    <dia>    <hora>   <hora_dif>       <letra>
Rule    <nome>    <de>    <para>    <tipo>    <mes>    <dia>    <hora>   <hora_dif>       <letra>

Sendo:

Nome: Nome da regra.
De: O primeiro ano em que a regra se aplica.
Para: O último ano em que a regra se aplica.
Tipo: Caso informado “-”, se aplica a todos os anos entre “de” e “para”.
Mes: Mes de início da regra.
Hora Dif: Diferença no relógio que deve ser aplicada.
Letra: Letra indicando como a regra deve aparecer no comando date.

Seguindo, no mesmo arquivo, devemos ter outra linha para a Zona, com o seguinte formato:

zone    <path>    <diff_utc>   <regra>    <formato>

Sendo:

Path: Caminho e Nome do TimeZone a ser aplicado.
Diff UTC: Diferença de tempo entre o UTC e o tempo local.
Regra: A regra a qual se aplica.
Formato: Usado para mostrar a “letra” indicada nas regras acima.

Exemplo:

Rule    BrazilSP    2007    only    -    Oct    14    00:00    01:00    S
Rule    BrasilSP    2008    only    -    Feb    16    00:00    00:00    -
zone    America/Sao_Paulo    -3:00    BrazilSP    BR%sT

As duas primeiras linhas indicam, respectivamente, início e fim do horário de verão.
Na terceira linha, vemos “BR%sT”, sendo que o “%s” será substituído pela letra indicada na primeira regra, ficando então “BRST”, ou seja, Brazilian Saving Time.

Após criado o arquivo, devemos gerar o arquivo de “localtime”, utilizando o aplicativo “zic”.

Basta fazer:

zic <nome_do_arquivo_criado>

Após isso, será gerado o arquivo informado em “Path”, na raiz “/usr/share/zoneinfo”. Sendo assim, será gerado o arquivo Sao_Paulo na pasta “/usr/share/zoneinfo/America”.

Após feito isso, basta sobrescrever o arquivo “/etc/localtime”, pelo nosso arquivo gerado.

O horário de verão para este ano estará sendo respeitado. No próximo ano, é necessário refazer o processo modificando as datas de início e fim.

Explore posts in the same categories: Dicas, Linux

Comment: