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.
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 (->):
$ 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
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!