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.

Luzia MendesLuzia Mendes
Ajuste de Código para Horário de Verão

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.

Fique atualizado com nosso melhor conteúdo!

Compartilhe

Facebook
Twitter
LinkedIn

Leitores também acessaram: