Artigo atualizado para o Fim do horário de verão de 2019.
Galera! venho com uma informação muito importante, não deixe suas aplicações dar problemas devido ao horário errado por causa do horário de verão, alguns estados adotam essa medida, já havia sido reduzido o horário devido as eleições e que seria alterado do dia 20 de outubro para 04 de novembro, porém alterou a data novamente para 18 de novembro por causa do ENEM e nesta semana recebemos a notícia que foi negada a nova solicitação de alteração da data do horário de verão, e não irá mais alterar a data do horário de verão para o dia 18 de novembro, que continuará no dia 04 de novembro.
Neste artigo eu ensino como atualizar o horário de verão manualmente no Linux.
# yum update tzdata
Pronto agora basta executar o comando para saber se realmente alterou.
# zdump -v /etc/localtime | grep 2018
zdump: warning: zone "/etc/localtime" abbreviation "-03" lacks alphabetic at start
/etc/localtime Sun Feb 18 01:59:59 2018 UTC = Sat Feb 17 23:59:59 2018 -02 isdst=1 gmtoff=-7200
/etc/localtime Sun Feb 18 02:00:00 2018 UTC = Sat Feb 17 23:00:00 2018 -03 isdst=0 gmtoff=-10800
/etc/localtime Sun Nov 4 02:59:59 2018 UTC = Sat Nov 3 23:59:59 2018 -03 isdst=0 gmtoff=-10800
/etc/localtime Sun Nov 4 03:00:00 2018 UTC = Sun Nov 4 01:00:00 2018 -02 isdst=1 gmtoff=-7200
Caso precisasse ser alterado dia 18 de novembro teria que seguir os passos abaixo, mas agora não irá mais alterar.
Primeiro vamos executar o comando para verificar o horário de verão.
# zdump -v /usr/share/zoneinfo/America/Sao_Paulo | grep 2018
zdump: warning: zone "/usr/share/zoneinfo/America/Sao_Paulo" abbreviation "-03" lacks alphabetic at start
/usr/share/zoneinfo/America/Sao_Paulo Sun Feb 18 01:59:59 2018 UTC = Sat Feb 17 23:59:59 2018 -02 isdst=1 gmtoff=-7200
/usr/share/zoneinfo/America/Sao_Paulo Sun Feb 18 02:00:00 2018 UTC = Sat Feb 17 23:00:00 2018 -03 isdst=0 gmtoff=-10800
/usr/share/zoneinfo/America/Sao_Paulo Sun Nov 4 02:59:59 2018 UTC = Sat Nov 3 23:59:59 2018 -03 isdst=0 gmtoff=-10800
/usr/share/zoneinfo/America/Sao_Paulo Sun Nov 4 03:00:00 2018 UTC = Sun Nov 4 01:00:00 2018 -02 isdst=1 gmtoff=-7200
Agora iremos criar o arquivo no /tmp e setar o período que irá permanecer o horário de verão.
# vim /tmp/Sao_Paulo.zic
Rule BrazilSP 2018 only - Nov 18 0:00 1:00 S >> data de inicio
Rule BrazilSP 2019 only - Feb 16 0:00 0 - >> data de fim
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone America/Sao_Paulo -3:00 BrazilSP BR%sT >> timezone
Agora iremos utilizar o comando zic no arquivo Sao_Paulo.zic que vai alterar o horário de verão da time zone do arquivo: /usr/share/zoneinfo/America/Sao_Paulo.
# zic /tmp/Sao_Paulo.zic
Vamos atualizar a timezone do servidor para aplicar o horário de verão setado no arquivo Sao_Paulo.zic
# ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
Vamos verificar se o comando deu certo, executando o comando zdump.
Eeeee Tchanam, pronto! O horário foi alterado conforme a data que você definiu.
# zdump -v /usr/share/zoneinfo/America/Sao_Paulo | grep 2018
/usr/share/zoneinfo/America/Sao_Paulo Sun Nov 18 02:59:59 2018 UTC = Sat Nov 17 23:59:59 2018 BRT isdst=0 gmtoff=-10800
/usr/share/zoneinfo/America/Sao_Paulo Sun Nov 18 03:00:00 2018 UTC = Sun Nov 18 01:00:00 2018 BRST isdst=1 gmtoff=-7200
Informações adicionais:
Para verificar se está ativa ou não o horário de verão, utilize o comando timedatectl - (somente em sistemas que já utilizam o systemd, acredito que os novos sistemas operacionais linux já utilizam)
Quando estiver inativo irá aparecer da seguinte forma:
# timedatectl
Local time: Ter 2018-10-09 02:27:04 BRT
Universal time: Ter 2018-10-09 05:27:04 UTC
RTC time: Seg 2018-10-08 08:00:19
Time zone: America/Sao_Paulo (BRT, -0300)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a >> Indica se está ativo ou não!
Eu fiz o teste com uma data qualquer e olha como ficou:
# timedatectl
Local time: Ter 2018-10-09 03:52:44 BRST
Universal time: Ter 2018-10-09 05:26:44 UTC
RTC time: Seg 2018-10-08 08:00:00
Time zone: America/Sao_Paulo (BRST, -0134)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: yes >> Repare que está ativo, e logo abaixo exibe qual será o período.
Last DST change: DST began at >> Começa em
Seg 2018-10-08 23:59:59 BRT
Ter 2018-10-09 01:26:00 BRST
Next DST change: DST ends (the clock jumps 86 minutes backwards) at >> Termina em
Qui 2019-02-21 23:59:59 BRST
Qui 2019-02-21 22:34:00 BRT
Com certeza muita gente irá precisar alterar o horário de verão do seu servidor linux manualmente, acredito que irá ajudar bastante gente, espero que tenha gostado e te ajudado… Compartilhe com seus amigos para que não passe por um perrei desnecessário por falta de informação.
E por hoje é só! Curta nossas redes sociais, compartilhe e ative o sininho para receber notificação em seu browser de novos artigos… Abraços e até a próxima!
Se una com os assinantes de nossa Newsletter, sempre que tiver postagem nova você será notificado.