У меня есть cronjob, который выполняется каждый день в 9:00 UTC-Time. Я в GMT + 1, поэтому он выполняется в 10:00 по местному времени. Когда происходит изменение часового пояса (на летнее время, летнее время), cronjob выполняется все еще в 9:00 утра по UTC-времени, но в 11:00 утра по местному времени. Но я хочу, чтобы это всегда выполнялось в 10:00, независимо от того, летнее время или нет. Как я могу это сделать?
10
Ответы:
Проверьте ваши настройки в / etc / timezone. В вопросе, который вы упомянули, вы находитесь в «GMT + 1», если для этого часового пояса установлено значение, ваш сценарий всегда будет выполняться в UTC плюс один час. Если вы установите, например, «Европа / Париж», время выполнения изменится с переходом на летнее время.
источник
Вероятно, это будет зависеть от вашей ОС и ее реализации
cron
. Это невозможно в самой популярной реализации cronvixie/isc cron
. Изcrontab(5) manpage
:источник
Расширяя ответ @Cyrus, это то, что я сделал:
Я сделал скрипт, который проверил смещение UTC:
Затем я добавляю две записи в crontab для каждого смещения, которое я хочу:
источник
Со страницы руководства:
источник
Переместите ваш cronjob на 8:00 и спите один час, если вы находитесь в GMT + 1
источник