03
nov
09

Horário de Verão em servidores Linux

Praia

Ah! O verão!

Vem chegando o verão, e para aqueles administradores de servidores Linux que estão em estados afetados pelo horário de verão, uma preocupação a mais. O horário errado no sistema acarreta muitas vezes em aplicações, como banco de dados e servidores web, inconsistência na data. E para a maioria das distribuições Linux, a correção é bem simples, sendo necessária somente a atualização do pacote de data do sistema.

Primeiro de tudo, devemos ter o pacote tzdata instalado em nosso sistema.

RedHat/CentOS:

# yum install tzdata

Debian:

# apt-get install tzdata

Depois de instalar, sincronizamos o horário utilizando o comando ntpdate, que é igual para os dois sistemas:

# ntpdate ntp.usp.br3 
Nov 14:13:53 ntpdate[15244]: adjust time server 143.107.255.15 offset -0.489083 sec

Verificamos o horario e o Timezone com o comando date:

# date
Ter Nov 3 14:14:01 BRST 2009

O horário está correto, e note também que o Timezone indica BRST, que significa BRazilian Summer Time. Quando estamos fora do horário de verão, o Timezone muda para BRT.

Fácil né? Pois é, o problema é que nem sempre o Timezone é ajustado corretamente pelo tzdata. Pro isso que a maneira mais correta e simples de se corrigir isso, é criando um arquivo para dizer ao sistema quando o horário de verão se inicia, e quando termina.

Então, vamos primeiro entrar no diretório que armazena as informações de Timezone. No meu caso, que fica em /usr/share/zoneinfo/Brazil.

# cd /usr/share/zoneinfo/Brazil

Agora criamos um arquivo com a extensão zic de nome verao2009:

# vi verao2009.zic

O conteúdo do arquivo se resume a 3 linhas:

# Arquivo de correcao do Timezone para Horario de verao
# Data de inicio do horario de verao
Rule    Brazil    2009    only    -    Oct    18    00:00    1    S
# Data de termino do horario de verao
Rule    Brazil    2010    only    -    Feb    21    00:00    0    -
# Timezone afetado pelo horario de verao
Zone    Brazil/East    -3:00    Brazil    BR%sT

Salve o arquivo e execute o comando que realiza a correção no Timezone:

# zic verao2009.zic

Depois disso, só executar um ntpdate para ajustar o horário, e seu sistema está com o horário correto.

# ntpdate ntp.usp.br
3 Nov 14:35:38 ntpdate[21087]: adjust time server 143.107.255.15 offset -0.037 sec

Pronto! Dia 21 de Fevereiro de 2010, o sistema vai automaticamente atrasar 1 hora. Para o próximo ano, é só copiar o modelo do arquivo e alterar as datas e horários de início e término do horário de verão.

[]s

Anúncios

3 Responses to “Horário de Verão em servidores Linux”


  1. 18/11/2009 às 8:45 pm

    Dica maravilhosa, parabéns!

  2. 2 davi
    25/10/2011 às 3:17 pm

    ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: