Devo me preocupar com o horário de verão ao planejar a programação de backups?

5

Então, se houver um dia:

https://secure.wikimedia.org/wikipedia/en/wiki/Daylight_saving_time

quando temos que, por exemplo: definir o relógio de volta das 3h às 2h. Ok.

Portanto, se alguém criar um cron job às 3h, se o horário de verão chegar, o backup será executado primeiro às 3h, o relógio será automaticamente restaurado para 2h, 1 hora passa e o backup será executado novamente, porque são 3 da manhã! [e digamos que pode haver um problema se o backup for executado duas vezes por dia. ou pior ainda: nenhum backup será executado, porque foi, por exemplo: programado para 2:00, mas o relógio nunca bate 2:00, porque será automaticamente definido para 3:00! quando temos que colocar nossos relógios para frente].

Então, o verdadeiro Pergunta: Os horários de verão são os mesmos em todo o mundo, ou estão em um horário diferente? Devemos tomar conhecimento deste problema "teórico"?

    
por LanceBaynes 28.04.2011 / 23:47

2 respostas

1

Eu não sei como o Cron faz isso, mas aqui está o problema da Microsoft com o Agendador de Tarefas.

Avançar pela frente

Existem várias maneiras possíveis de um programa do agendador se comportar para tarefas agendadas no intervalo de tempo causado pela transição do SF:

  • Método 1 : como esses minutos não aparecem para esse dia nesse fuso horário, o agendador pode ignorar todas as tarefas programadas para ocorrer durante esses minutos. Esse comportamento pode ser apropriado para alguns aplicativos; o agendador não impede que esses horários sejam colocados no agendamento.

  • Método 2 : inicie essas tarefas no tempo real em que elas teriam sido iniciadas, caso o horário de verão não tivesse ocorrido. Por exemplo, uma tarefa que está programada para ocorrer às 2:05 da manhã seria executada às 3:05 DST. Essa abordagem pode ser útil para tarefas que devem ser escalonadas e sequenciadas. No entanto, essa abordagem pode fazer com que uma tarefa seja executada após outra tarefa dependente da primeira tarefa. Por exemplo, se uma tarefa estiver agendada para 2:30 e uma tarefa de acompanhamento for agendada às 3:15, a tarefa 3:15 poderá ser executada primeiro, seguida pela tarefa 2:30, que agora será executada às 3:30.

  • Método 3 : Comprima o tempo e execute as tarefas perdidas na ordem em que foram agendadas para execução em algum momento após a transição. Esse comportamento mantém as tarefas em ordem. No entanto, se várias tarefas forem agendadas durante o intervalo de tempo do SF, elas parecem começar quase simultaneamente. Quaisquer interdependências que requerem sincronização e sequência específicas podem causar falhas de etapas na tarefa. Esse parece ser o método usado pelo agendador da Microsoft mais recente.

Queda de volta

Seguem-se várias maneiras de um programa de agendamento se comportar para tarefas agendadas durante o FB, quando o tempo se repete:

  • Método 1 : Como o tempo se repete, execute a tarefa novamente a cada momento em que o horário programado ocorrer. Isso não parece ser um requisito comum; no entanto, esse comportamento pode ser apropriado para alguns aplicativos.

  • Método 2 : inicie essas tarefas no tempo real em que elas teriam iniciado se o DST não tivesse ocorrido. Por exemplo, uma tarefa que está programada para 2:05 da manhã é executada na hora padrão 1:05, que é a segunda hora do relógio de 1:05.

  • Método 3 : inicie as tarefas no hora marcada no relógio de parede. este comportamento atrasa qualquer tarefa que seja programado para começar às 2:00 DST em essa data por uma hora, mas todas as tarefas além desse tempo ocorrem no seqüência e no tempo real intervalo que você deseja. O mais recente O agendador da Microsoft parece usar este método. No entanto, tarefas que são programado para ocorrer exatamente no momento de transição pode ser executado em que momento. Por exemplo, uma tarefa que é programado para ocorrer às 2:00 da manhã pode executado às 1:00 da manhã, horário padrão (como em método 2).

por 29.04.2011 / 00:13
3

Use o UTC e você não deve ter problemas. Para CRON você pode aparentemente fazer isso:

/ etc / default / rcS UTC = sim

de acordo com o link

    
por 28.04.2011 / 23:50