Horário de verão automatico no Linux

17 de Outubro de 2007

Instruções para configurar o horário de verão automaticamente no Linux.

Verifique a data atual
# date

# cd /usr/share/zoneinfo/Brazil

Criar um arquivo para as regras de horário de verão, caso já exista basta adicionar as regras ao arquivo.

#vi horario_verao.zic

Rule Brazil 2007 only – Oct 14 00:00 1 S
Rule Brazil 2008 only – Feb 17 00:00 0 D
Zone Brazil/East -3:00 Brazil BR%sT

Atualizar os horários no arquivo East (a última linha no arquivo horario_verao.zic indica qual arquivo será atualizado, no caso Brazil/East)

# zic horario_verao.zic

Atualizar o arquivo /etc/localtime para o novo arquivo East. Eu acho mais prático criar um link para o arquivo /usr/share/zoneinfo/Brazil/East mas também pode-se copiar o mesmo.

# ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime
ou
# cp /usr/share/zoneinfo/Brazil/East /etc/localtime

Ajuste a hora do sistema

# date -s “10/14/2007 01:00″

E é isso, agora o sistema vai estar com o horário correto e vai ajustar automaticamente quando o horário de verão terminar.

Atualização 20/02/2008

Tive um problema com o Fedora 4 após o término do horário de verão, mais especificamente com o logwatch. O seguinte erro ocorria:

/etc/cron.daily/0logwatch:

ERROR: Date::Manip unable to determine TimeZone.

See 'perldoc Date::Manip' (section TIMEZONES), which describes valid TimeZones and where they can be defined.

Isso acontecia porque o timezone ficou BRDT e parece que não era aceito pelo Date::Manip, a solução foi alterar o horario_verao.zic e remover o “%s” da última linha -> Zone Brazil/East -3:00 Brazil BRT

Acredito que seja um bug nesta versão do Fedora, pois a mesma configuração não deu problema no Fedora 7.

Fontes:
http://www.rnp.br/cais/alertas/2004/cais-alr-05102004a.html
http://www.dicas-l.com.br/dicas-l/20061001.php