Tenho poucos servidores com CentOS 7 e 6 como SO. Anteriormente, o horário era alterado duas vezes por ano para o horário de verão e o sistema operacional fazia isso automaticamente em cada servidor.
agora, de repente, foi aprovada uma lei que mudou a política do horário de verão. Eu queria ter certeza de que o horário de verão está desabilitado nesses servidores para que o sistema operacional não mude o horário como antes. Eu quero que essas mudanças aconteçam com base em nosso servidor de horário central.
no CentOS 7 posso verificar se o DST não está ativado por este comando: timedatectl status
output:DST active: no
mas não posso confirmar com segurança no CentOS 6 que o horário de verão está desativado. Procurei em todos os lugares, mas não consegui encontrar um comando nem um arquivo para mostrar isso. então como verificar se o horário de verão está inativo no CentOS 6?
Primeiro, você terá que determinar qual é a configuração de fuso horário atual. Se a
TZ
variável de ambiente estiver definida, esse é o fuso horário; mas se não estiver definido, o fuso horário padrão do sistema será determinado por/etc/localtime
.Se
/etc/localtime
for um link simbólico para/usr/share/zoneinfo/...
, determinar o fuso horário atual é fácil: o nome do caminho de destino do link identificará exatamente o fuso horário real.Mas no RHEL/CentOS 6, o
/etc/localtime
arquivo provavelmente será uma cópia real de um dos arquivos de fuso horário de/usr/share/zoneinfo/...
, não um link. E há uma pequena ruga:/etc/sysconfig/clock
provavelmente informará o que foi escolhido como o fuso horário padrão no momento da instalação do sistema operacional , mas se o fuso horário foi alterado posteriormente substituindo/etc/localtime
por outro arquivo de fuso horário de/usr/share/zoneinfo/
, as informações/etc/sysconfig/clock
podem não estar mais atualizadas.Portanto, se houver a menor chance de que o fuso horário tenha sido alterado após a instalação do SO, você deve comparar o conteúdo do
/etc/localtime
arquivo com seu (suposto) original em/usr/share/zoneinfo
:Depois de saber o nome correto do fuso horário, você pode usar este comando para visualizar qualquer evento de transição de horário de verão (e outros) no histórico conhecido e futuro esperado desse fuso horário, usando o comando:
Como essa lista pode incluir duas transições de horário de verão (quatro linhas) por ano até o ano 2499 ou mais, você pode querer restringir um pouco a lista. Por exemplo:
De acordo com isso, o fuso horário America/New_York acaba de ter sua transição mais recente de EST para EDT em 13 de março, e a próxima transição será de volta para EST em 6 de novembro.
Se o horário de verão estivesse inativo para o fuso horário escolhido, essas descrições de transição de horário de verão não estariam lá.
E um detalhe: em qualquer sistema do tipo Unix, o relógio interno do sistema operacional sempre, sempre é executado em UTC, e todos os cálculos de tempo interno do SO são tratados usando carimbos de data e hora Unix equivalentes a UTC. Quando um fuso horário local tem uma transição de horário de verão, o sistema não "altera o relógio", mas apenas altera o deslocamento de conversão entre o horário local e o UTC.
Em sistemas Linux, há uma opção para que o relógio de hardware com bateria seja executado no horário local, para compatibilidade com sistemas operacionais da Microsoft em cenários de inicialização dupla. Se você usar essa opção, o relógio do hardware será ajustado de acordo com as transições do horário de verão. Mas se você mantiver o RTC no horário UTC (que geralmente é o padrão em distribuições Linux orientadas a servidor), nenhum ajuste de relógio real será necessário por causa do horário de verão. Apenas o fator de conversão é alterado conforme apropriado.