O crond processa o horário de verão com 1 hora de alteração?

15

Na semana passada tivemos que mudar o horário das 02:00 às 03:00.

Pergunta: O que aconteceria se houvesse um cronjob às 02:30?

o crond é uma solução muito antiga para o agendamento, ele provavelmente deveria lidar com isso, mas não sabe como.

    
por LoukiosValentine79 29.03.2016 / 08:50

2 respostas

18

Provavelmente, depende da sua implementação do cron, mas o popular Vixie cron afirma no manual:

cron then wakes up every minute, examining all stored crontabs, checking each command to see if it should be run in the current minute.

e

Special considerations exist when the clock is changed by less than 3 hours, for example at the beginning and end of daylight savings time. If the time has moved forwards, those jobs which would have run in the time that was skipped will be run soon after the change. Conversely, if the time has moved backwards by less than 3 hours, those jobs that fall into the repeated time will not be re-run.

Only jobs that run at a particular time (not specified as @hourly, nor with '*' in the hour or minute specifier) are affected. Jobs which are specified with wildcards are run based on the new time immediately.

Como a alteração do horário de verão foi menor que 3 horas, seu programa seria executado pouco depois das 3:00

Não tenho certeza se esse é um comportamento específico do Vixie cron, parece que me lembro de como meu PDP-11 funcionou bem nos anos 80, mas não tenho certeza.

    
por 29.03.2016 / 08:59
3

A melhor solução é ter o seu computador rodando com o relógio do hardware configurado para UTC, (Tempo Universal Coordenado), AKA GMT ou Zulu Time e apenas alterar a maneira que a hora é exibida, definindo o fuso horário local para permitir que o tempo de economia de luz do dia assuma o controle.

No SUSE Linux e provavelmente na maioria dos outros, se o sistema Hardware Clock - > Meio Ambiente - > Relógio - > HWCLOCK é definido como UTC com o sinalizador -u e seu fuso horário é definido para onde você está, o sistema exibirá automaticamente os horários locais com as correções de horário de verão para você.

Isso tem várias vantagens:

  • Você nunca terá que ajustar manualmente o relógio para alterações de horário de verão novamente
  • as guias CRON serão armazenadas e executadas nos horários UTC
  • Se um arquivo, por exemplo um log, é gravado às 01:30 antes do final do DST e outro às 01:20 após o término do DST que o arquivo ainda será "mais recente" do que o outro porque o carimbo de hora do arquivo será UTC e apenas traduzido para exibição com base no fuso horário atual no momento da exibição.

Para mais informações, digite man hwclock em um terminal.

    
por 02.04.2016 / 08:01

Tags