URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 79540
[ Назад ]

Исходное сообщение
"Crontab и переход на летнее время."

Отправлено Arpo , 31-Мрт-08 08:58 
Народ может вопрос и глупый, но результат который получил я еще глупее.

Есть скрипт который запускается в 2:30 ночи. Так получилось что я не обратил на это внимания, и поскольку время перевелось на час вперед то он не запустился. Я погуглил и нашел несколько тем где написано что так и должно быть. Неужели в Crontab-е нет никакого защитного механизма?? Ведь если так то при переходе на зимнее время скрипт запустится два раза. Подскажите кто сталкивался.


Содержание

Сообщения в этом обсуждении
"Crontab и переход на летнее время."
Отправлено angra , 31-Мрт-08 09:20 
Может anacron вам подойдет.

"Crontab и переход на летнее время."
Отправлено Arpo , 31-Мрт-08 09:26 
>Может anacron вам подойдет.

Спасиба angra, Вы уже не первый раз даете мне полезные советы. Просто тут дело в том что это production сервер. И мне проста не пустят туда инстолить что то не сертефецированое со стороны SUN. А доказывать что это лучше...
Значит и правда в стандартном кроне есть такая ФИГНЯ??


"Crontab и переход на летнее время."
Отправлено newser , 31-Мрт-08 10:17 
>>Может anacron вам подойдет.
>
>Спасиба angra, Вы уже не первый раз даете мне полезные советы. Просто
>тут дело в том что это production сервер. И мне проста
>не пустят туда инстолить что то не сертефецированое со стороны SUN.
>А доказывать что это лучше...
>Значит и правда в стандартном кроне есть такая ФИГНЯ??

Да, есть такая "ФИГНЯ". Обратите внимание, что во многих системах (FreeBSD, Linux, ...) в "штатном" crontab'е (т.е. том, к которому ещё не прикасался администратор) по умолчанию все задачи прописаны таким образом, чтобы исключить временной интервал 2-3 часа ночи. Как Вы думаете, почему так сделано? И почему администратор системы не должен создавать задачи в указанном интервале. Так что ССЗБ, cron тут, в общем-то, совершенно не причём.


"Crontab и переход на летнее время."
Отправлено angra , 31-Мрт-08 10:24 
Не совсем, я просто подумал что вас интересует несколько другой вопрос - как сделать чтобы задание выполнилось даже если время было существенно откорректировано или машина вообще была выключена.

А по поводу перехода на зимнее/летнее время(daylight savings time) man cron говорит следущее:
      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.

       Clock changes of more than 3 hours are considered to be corrections to the clock, and the new time is used immediately.

Как видим ситуация предусмотренная и проблем быть не должно. Однако стоит учитывать, что кроме vixie-cron есть другие варианты реализации cron-like демонов и вполне возможно, что в вашей системе(соляра?) стоит что-то другое.


"Crontab и переход на летнее время."
Отправлено Arpo , 31-Мрт-08 10:31 
>[оверквотинг удален]
>       specified with wildcards are run
>based on the new time immediately.
>
>       Clock changes of more than
>3 hours are considered to be corrections to the clock, and
>the new time is used immediately.
>
>Как видим ситуация предусмотренная и проблем быть не должно. Однако стоит учитывать,
>что кроме vixie-cron есть другие варианты реализации cron-like демонов и вполне
>возможно, что в вашей системе(соляра?) стоит что-то другое.

Да у меня определенно не vixie-cron. Вот кусочек моего мана:

If some form of daylight savings or summer/winter time is in
effect,  then  jobs  scheduled  during the switchover period
could be executed once, twice, or not at all.

Так что мне не судьба. Пойду шефу скажу пусть даст распоряжение чтоб все сняли job-ы с этого времени.