Horário de verão automático

Com esse artigo você poderá configurar sua estação ou servidor para iniciar e terminar o fuso-horário do horário de verão automaticamente de acordo com as datas fornecidas pelo governo para início e término do mesmo.

[ Hits: 48.272 ]

Por: Leandro Figueiredo Ortiz em 04/10/2004


Introdução



Os arquivos que ditam o horário que será obedecido pelo S.O., no caso do Brasil, estão em /usr/share/zoneinfo/Brazil. Dependendo da região em que se está (Sudeste, Centro-Oeste, Norte, Nordeste), o fuso-horário varia em relação ao relógio da BIOS! Para confirmar isso, digite o seguinte comando:

$ date

Esse comando mostra a hora armazenada pelo sistema operacional com base nos arquivos zic lá do /usr/share/zoneinfo/Brazil. Agora, digite o comando abaixo:

$ date -u

Esse comando mostra a hora da BIOS. Note que há diferença entre a hora da BIOS e a hora do sistema operacional!

Para fazermos com que o horário de verão seja automaticamente atualizado em seu início e encerramento, vamos criar um novo arquivo dentro de /usr/share/zoneinfo/Brazil:

# vi /usr/share/zoneinfo/Brazil/horario-verao.zic

Dentro desse arquivo, coloque as seguintes linhas, separando os blocos com a tecla TAB (->):

Rule  ->  Brazil  ->  2004  ->  only  ->  Oct  ->  31  ->  00:00  ->  1  ->  D
Rule  ->  Brazil  ->  2005  ->  only  ->  Feb  ->  15  ->  00:00  ->  0  ->  S
zone  ->  Brazil/East  ->  -3:00  ->  Brazil  ->  E%sT

Os dias de começo e término do horário de verão podem variar, assim como o arquivo zic, dependendo da região em que você se encontra. No meu caso, como estou no estado de SP, estou usando no exemplo o "East" (-3:00). Para testar, adiante a data do seu relógio do sistema:

# date -s "10/31/2004 01:00"

Feito isso, repita do comandos já mencionados acima:

$ date

$ date -u


Repare que durante o horário de verão, a diferença entre o relógio do sistema operacional e da BIOS não é mais de 3 horas como antes!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Necessidade do profissional de informática

Linux Thinstation para estações antigas

Leitura recomendada

Instalando programas utilizando os fontes no seu Slackware com o checkinstall

Subversion (SVN) com autenticação pelo LDAP

Upgrade no Arch Linux usando outro PC com Internet rápida

Autologin no Linux sem o uso do KDM

Biometria: Processamento de imagens capturadas em leitores de impressão digital

  
Comentários
[1] Comentário enviado por pradox em 04/10/2004 - 14:37h

Este comando é válido para todas as distros?

[2] Comentário enviado por lefigo em 04/10/2004 - 14:50h

Eu testei no Conectiva e no Red Hat e ocorreu tudo certo! Creio que se houver alguma diferença nas outras distros, vai ser apenas na localização dos arquivos!

[3] Comentário enviado por removido em 05/10/2004 - 00:43h

Seu tutorial está excelente...uma dica importante para esta chatice do horário de verão que perturba todo mundo e não resolve nada...

[4] Comentário enviado por lordello em 05/10/2004 - 19:16h

Muito bom, mas o horário de verão de 2004/2005 foi anunciado diferente:

início: 02 Nov 2004
final: 19 Fev 2005

Então essas regras não iriam funciona. Pelo que pude entender, você tá incluindo apenas a região Sudeste, seria legal colocar outras regiões também.
Falou ae!

[5] Comentário enviado por lefigo em 05/10/2004 - 20:25h

Olá amigo! Obrigado pela dica, mas me parece bem claro no artigo o trecho em que digo que os dias podem variar, assim como a região:

"Os dias de começo e término do horário de verão podem variar, assim como o arquivo zic, dependendo da região em que você se encontra. No meu caso, como estou no estado de SP, estou usando no exemplo o "East" (-3:00)."

[ ]'s

Leandro

[6] Comentário enviado por dln_jr em 06/10/2004 - 15:23h

Aeeeeeeee legal deu certinhu aki tb!! Boa!

Abraços!

[7] Comentário enviado por dangelo em 06/10/2004 - 17:28h

Gostaria de explicar algumas coisas,

1 - o comando date -u não retorna a data da bios, e sim retorma a data GMT, pelo menos no Debian é isso, basta verificar no man.

[8] Comentário enviado por dangelo em 06/10/2004 - 17:41h

2 - Testei a solução e inicialmente, ajustando o relógio para o dia 31,
achei que havia funcionado, quando coloquei o relógio para o dia 29 percebi
que o horario de verão já estava funcionando, verificando pq descobri que o
Debian já tem uma definição de horário de verão e portanto minha alteração
não fez diferença nenhuma. Portanto fui verificar como fazer este ajuste no Debian e descobri que existe um pacote chamado tz-brasil,
basta apt-get install tz-brasil
O pacote já esta atualizado para a data do dia 2/11

[9] Comentário enviado por DondaJr em 10/10/2005 - 12:29h

Muito bem explicado.. eu estava com plrblemas aqui e me ajudou muito valw

[10] Comentário enviado por Credmann em 17/10/2006 - 14:07h

/etc/default/rcS: UTC=no

[11] Comentário enviado por groger em 22/10/2012 - 12:15h

A Bahia fica fora do horário de verão até 2014, diz Wagner (governador do Estado), confirma como tratar esta particularidade em: http://groger.wordpress.com/2012/10/22/dica-da-semana-horario-de-verao-20122013/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts