quinta-feira, 11 de novembro de 2010

Configurando horário de verão no Linux


Autor: Levi Leopoldino Alves 
Data de Publicação: 01 de Outubro de 2006
Adaptação: Scientia consorti em 10/11/2010
Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
Linux Kernel 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:56:44 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
Primeiramente devemos criar um arquivo chamado horario_verao.zic
#touch /tmp/horario_verao.zic

Agora vamos inserir as seguintes informações, separando os blocos com um espaço (clique na barra de espaço somente uma vez)
#Conteúdo do aruivo horario_verao.zic
  Rule Brazil 2010 only - Oct 17 00:00 1 D
  Rule Brazil 2011 only - Feb 20 00:00 0 S  

  Zone Brazil/East -3:00 Brazil BR%sT
  #Fim do arquivo
Agora vamos salvar o arquivo.
Agora vamos dizer o que isso tudo quer dizer:
Rule =
  Brazil = Nome da regra a ser criada.
  2010 = Ano em que a regra será executada.
  Only = Será executado somente esta vez (depois deste parametro vem um (-) isto memso. 
  Oct = O nome do mês. 
  17= O dia do mês. 
  00:00 = Horário em que a mudança será feita
  1 = Especifica quanto tempo será adicionádo ao relógio, neste caso uma (1) hora.
  0 = Especifica quanto tempo retirado, neste caso, volta uma hora (0). (Coloca-se 0 para voltar para o 
      horário normal).
A linha Zone especifica o arquivo de TimeZone, qual nosso fuso horário
Zone =
  Brazil/East = Nome do fuso horário
  -3:00 = A quantidade de hora para adicionar ao fuso horário.
  Brazil = Nome da Rule criada na linha 1 e 2
  BR%sT = Formato para a abreviatura do fuso horário.
Para os curiosos:
BRT = BRazilian Time (Horário Normal)
BRST = BRazilian Saving Time (saving significa econômico que é equivalente a horário de verão)Agora execute o seguinte comando:
  • #/usr/sbin/zic /tmp/horario_verao.zic
    
    Feito isso, o arquivo /usr/share/zoneinfo/Brazil/East vai ser atualizado com as novas definições de data.O linux utiliza o arquivo /etc/localtime para saber qual zona utilizarAgora execute o seguinte comando:
    cp /usr/share/zoneinfo/Brazil/East /etc/localtime
    
    O linux irá pedir uma confirmação se pode sobreescrever o aruiqvo, ai diz que sim.Para verificar se as configurações corretas foram feitas, execute o comando zdump
    #/usr/sbin/zdump -v Brazil/East | grep 20[1011]
      
      Brazil/East  Sun Oct 17 02:59:59 2010 UTC = Sat Oct 16 23:59:59 2010 BRST isdst=0 gmtoff=-10800
      Brazil/East  Sun Oct 17 03:00:00 2010 UTC = Sun Oct 17 01:00:00 2010 BRDT isdst=1 gmtoff=-7200
      Brazil/East  Sun Feb 20 01:59:59 2011 UTC = Sat Feb 19 23:59:59 2011 BRDT isdst=1 gmtoff=-7200
      Brazil/East  Sun Feb 20 02:00:00 2011 UTC = Sat Feb 19 23:00:00 2011 BRST isdst=0 gmtoff=-10800
          Pronto, basta conferir utilizando o comando date
  • #date
    
    Antes
    Qua Nov 10 13:25:49 UTC 2010 (esse é o horário normal)
    
    Depois
    Qua Nov 10 11:26:17 BRST 2010 (esse é o horário de verão)
    
Obs.: Note que a diferença é de 2 horas, ou seja no horário de verão é descontado 1 hora do fuso horário automaticamente.

Nenhum comentário:

Postar um comentário