Alteração no horário de verão: sua infra está preparada?
Entenda como preparar seus sistemas para o horário de verão. Criamos alguns scripts para ajudá-lo a resolver esse problema, que muitas vezes gera dores de cabeça.

O horário de verão é uma mudança comemorada por muitos, mas tem quem não goste. O certo é que acontece todo ano e, até ano passado, os relógios adiantavam seus ponteiros no terceiro domingo de Outubro e voltavam para o horário normal no terceiro domingo de Fevereiro.
Acontece que, no final de 2017, o decreto Nº 9.242/2017 alterou o início do horário de verão para o primeiro domingo de Novembro para não coincidir com o segundo turno das eleições.
Além do impacto social, o horário de verão impacta profundamente os sistemas de TI. Todos os componentes – bancos de dados, email, servidores e sistemas – precisam sempre ser ajustados ao horário de verão.
Por ser algo que ocorre todos os anos, na maioria das infraestruturas, essa mudança no horário já está automatizada. Porém, como a data de início do horário mudou, é importante que todo mundo revise se sua infra está pronta!
Sistemas Microsoft
A Microsoft lançou um update para que o início do horário de verão fosse ajustado para 04 de Novembro automaticamente em máquinas Windows (desktops e servidores). Porém, para algumas versões (Server 2008 e 2012,Windows 7 e 8) este update foi liberado como opcional. Ou seja, talvez não tenha sido aplicado.
Existem muitas formas de fazer a instalação deste update: via WSUS, System Center, GPO, script, manualmente, ou por automações – com o Puppet, por exemplo. Na InterOp, nossa equipe desenvolveu o script abaixo para mapear os ambientes de nossos clientes e verificar se os servidores estão atualizados para o novo horário de verão.
Import-Module ActiveDirectory $list = @() cls $servers = Get-ADComputer -Filter 'operatingsystem -like "*server*"' -Properties operatingsystem|select name,operatingsystem $servers | foreach-object{ $query,$status = $null if(Test-Connection -ComputerName $_.name -Count 1 -Quiet){ if($_.operatingsystem -notlike "*2003*"){ try { $query = Get-WmiObject -ComputerName $_.name win32_timezone -ErrorAction stop if($query.daylightmonth -eq '10'){ $status = "Desatualizado Outubro" } if($query.daylightmonth -eq '11'){ $status = "Atualizado Novembro"} } catch{ $status = "Com problema no WMI" } } else {$status = "Sem suporte ao Powershell"} } else {$status = "Desligado ou nao existe mais!"} $object = New-Object System.Object $object | Add-Member -MemberType NoteProperty -name Server -value $_.name $object | Add-Member -MemberType NoteProperty -name OS -value $_.operatingsystem $object | Add-Member -MemberType NoteProperty -name Status -value $status $object | Add-Member -MemberType NoteProperty -name Month -value $query.daylightmonth $object | Add-Member -MemberType NoteProperty -name Week -value $query.daylightday $list += $object } $list | ft -a
Para rodar este script, é preciso estar na máquina do Active Directory e ter o PowerShell rodando com permissões para acessar os demais servidores da rede. Esse script também identifica se o servidor está desligado, não existe mais, ou se há problemas nos requisitos de uso do PowerShell. Nós excluímos as versões Sever 2003 da query, pois normalmente não tem Powershell instalado.
Sistemas Linux
Para verificar o horário de verão nos sistemas Linux, o comando é o zdump e a correção é na tabela tzdate. O retorno em um ambiente atualizado deve ser assim:
[root@git ~]# 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 o seu ambiente ainda mostre Outubro – ou a data anterior, 4 de Novembro – como o início do horário de verão, é preciso atualizar a tzdata:
Nos servidores CentOS:
yum update tzdata
Nos servidores Debian:
apt-get update tzdata
Diferencial InterOp
Os clientes InterOp não precisam se preocupar com nada disso, pois garantimos estes ajustes, além das atualizações em todos os sistemas de TI! Para maior agilidade na administração de ambientes de TI, recomendamos e aplicamos ferramentas de DevOps para automação das configurações. Assim, garantimos a segurança e a padronização dos ambientes, com agilidade e economia.
Se você está enfrentando dificuldades com o seu ambiente de TI, ou está crescendo em um ritmo acelerado, entre em contato com nossos especialistas.