Работа с кронджобами

Я углубляюсь в мир настройки cronjobs и пытаюсь узнать больше о серверной части вещей. При этом я попытался настроить Cronjob на своем сервере для запуска двух отдельных сценариев Ruby в два разных дня.

Проблема: я настроил задание cron для запуска в полдень 8 февраля 2011 года 2-го дня недели (вторник), но оно запустилось сегодня, а не 8-го.

Cronjobs

# m h  dom mon dow   command
00 12 5 2 6 /usr/local/bin/ruby /home/ubuntu/email_f.rb
00 12 8 2 2 /usr/local/bin/ruby /home/ubuntu/email_g.rb

Я делаю что-то неправильно? Второй скрипт должен запуститься 8 февраля, то есть в следующий вторник, но, как я уже сказал, вместо этого он запустился сегодня.


person dennismonsewicz    schedule 01.02.2011    source источник


Ответы (1)


У меня нет под рукой ubuntu, но в справочном файле на моем slackware написано:

Если вы укажете и день в месяце, и день недели, результат будет фактически равен ИЛИ... запись crontab будет запущена в указанный день недели и в указанный день месяца.

Vixie cron на Fedora соглашается:

*Примечание: день выполнения команды можно указать двумя полями — день месяца и день недели. Если оба поля ограничены (т. е. не *), команда будет запущена, когда любое из полей соответствует текущему времени. Например, «30 4 1,15 * 5» приведет к запуску команды в 4:30 утра 1-го и 15-го числа каждого месяца, а также каждую пятницу.*

person mazianni    schedule 01.02.2011
comment
Спасибо! Теперь это имеет смысл! Я меняю свой cronjob, чтобы указать * в день недели, чтобы он запускался только в указанный день месяца. - person dennismonsewicz; 01.02.2011