5

Так что если будет день

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

когда мы должны, например: установить наши часы обратно с 3 утра до 2 утра. Хорошо.

Таким образом, если кто-то создает задание cron в 3 часа ночи, то, если наступает переход на летнее время, резервное копирование будет сначала выполняться в 3 часа ночи, затем часы автоматически возвращаются к 2 часам ночи, проходит 1 час, затем резервное копирование запускается снова, потому что сейчас 3 часа ночи! [и скажем, что может быть проблема, если резервное копирование выполняется два раза в день. или, что еще хуже: резервное копирование не будет выполняться, потому что, например, оно было запланировано на 2 часа ночи, но часы никогда не попадают в 2 часа ночи, потому что оно будет автоматически установлено на 3 часа ночи! когда мы должны установить наши часы вперед.

Итак, настоящий вопрос: одинаковы ли переходы на летнее время во всем мире или в другое время? Должны ли мы обратить внимание на эту "теоретическую" проблему?

2 ответа2

3

Используйте UTC, и у вас не должно быть проблем. Для CRON вы можете сделать это:

/etc/default/rcS UTC = yes

согласно http://ubuntuforums.org/showthread.php?t=497673

1

Я не знаю, как Cron делает это, но вот Microsoft берет на себя проблему с планировщиком задач.

Весна вперед

Есть несколько возможных способов, которыми программа-планировщик может вести себя для задач, запланированных в промежуток времени, вызванный переходом SF:

  • Способ 1. Поскольку эти минуты не отображаются для этого дня в этом часовом поясе, планировщик может игнорировать любые задачи, запланированные для выполнения в эти минуты. Такое поведение может быть подходящим для некоторых приложений; планировщик не предотвращает размещение этих времен в расписании.

  • Способ 2: Запустите эти задачи в то время, когда они были бы запущены, если бы летнее время не происходило. Например, задание, которое должно быть выполнено в 2:05 утра, фактически будет выполняться в 3:05 DST. Этот подход может быть полезен для задач, которые должны быть в шахматном порядке и последовательности. Однако этот подход может привести к тому, что одна задача будет выполняться после другой задачи, которая зависит от первой задачи. Например, если одна задача запланирована на 2:30, а последующая задача запланирована на 3:15, сначала может быть запущена задача 3:15, а затем задача 2:30, которая теперь будет выполняться в 3:30.

  • Способ 3: сжатие времени, а затем запустите все пропущенные задачи в том порядке, в котором они были запланированы для запуска через некоторое время после перехода. Такое поведение держит задачи в порядке. Тем не менее, если несколько заданий запланировано в течение времени SF SF, они запускаются почти одновременно. Любые взаимозависимости, которые требуют определенной синхронизации и последовательности, могут вызвать сбои шагов в задаче. Похоже, что это метод, который использует последний планировщик Microsoft.

Отступать

Ниже приведено несколько способов, которыми программа-планировщик может вести себя для задач, запланированных во время FB, когда время повторяется:

  • Способ 1. Поскольку время повторяется, повторяйте задачу каждый раз, когда наступает запланированное время. Это не является общим требованием; однако такое поведение может быть подходящим для некоторых приложений.

  • Способ 2: Запустите эти задачи в то время, когда они начали бы, если бы DST не произошло. Например, задание, которое запланировано на 2:05 утра, выполняется по стандартному времени 1:05, которое является вторым настенным временем 1:05.

  • Способ 3: Запустите задачи в назначенный час настенного времени. Такое поведение задерживает любые задачи, которые запланированы на запуск в 2:00 по летнему времени в эту дату, на один час, но все задачи после этого времени выполняются в последовательности и в фактический требуемый интервал времени. Последний планировщик Microsoft, кажется, использует этот метод. Однако задачи, которые запланированы на выполнение точно в момент перехода, могут выполняться в этот момент. Например, задача, запланированная на 2:00, может выполняться в 1:00 по стандартному времени (как в методе 2).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .