В прошлые выходные нам пришлось менять время с 02:00 до 03:00.
Вопрос: Что бы произошло, если бы в 02:30 был cronjob?
Crond - очень старое решение для планирования, вероятно, оно должно с этим справиться, но не знаю как.
В прошлые выходные нам пришлось менять время с 02:00 до 03:00.
Вопрос: Что бы произошло, если бы в 02:30 был cronjob?
Crond - очень старое решение для планирования, вероятно, оно должно с этим справиться, но не знаю как.
Ответы:
Вероятно, это зависит от вашей реализации cron, но популярный vronie cron утверждает в руководстве:
Затем cron просыпается каждую минуту, просматривая все сохраненные crontabs, проверяя каждую команду, чтобы увидеть, должна ли она быть запущена в текущую минуту.
и
Особые соображения существуют, когда часы меняются менее чем на 3 часа, например, в начале и в конце летнего времени. Если время сместилось вперед, те задания, которые выполнялись бы во время, которое было пропущено, будут запущены вскоре после изменения. И наоборот, если время переместилось назад менее чем на 3 часа, те задания, которые попадают в повторяющееся время, не будут перезапущены.
Это влияет только на задания, которые выполняются в определенное время (не указывается как @hourly или как «*» в указателе часов или минут). Задания, которые указываются с подстановочными знаками, запускаются немедленно по новому времени.
Поскольку изменение летнего времени составило менее 3 часов, ваша программа запустится вскоре после 3:00.
Я не уверен, что это специфическое поведение Vixie cron, я, кажется, вспоминаю, как так работал мой PDP-11 еще в 80-х, но я не уверен.
Лучшее решение состоит в том, чтобы ваш компьютер работал с аппаратными часами, установленными на UTC, (Всемирное координированное время), AKA GMT или Zulu Time, и измените только способ отображения времени, установив местный часовой пояс, чтобы разрешить переход на летнее время. время взять на себя
В SUSE Linux и, возможно, в большинстве других, если для Hardware Clock System -> Environment -> Clock -> HWCLOCK установлено значение UTC с флагом -u, а часовой пояс установлен там, где вы находитесь, система будет автоматически отображать местное время. с исправлениями DST для вас.
Это имеет ряд преимуществ:
Для получения дополнительной информации введите man hwclock
в терминале.