Синтаксис Cron для Jenkins для запуска каждые 5 минут, но не для запуска в течение 1 часа 1 день в неделю

Я хотел бы запускать задание Дженкинса каждые 5 минут, но раз в неделю ничего не запускать в течение часа.

Например, каждый понедельник я бы не хотел, чтобы проект запускался с 22:00 до 23:00. Через день через час он должен запускаться каждые 5 минут.

Это то, что у меня есть прямо сейчас:

H/5 0-21,23 * * 0-6

Но у меня проблемы с закрытием окна только в один выбранный день. Какие-либо предложения?


person Saeed Gatson    schedule 04.09.2014    source источник


Ответы (2)


Когда мне нужны сложные вещи, не поддерживаемые cron, я обычно просто кодирую их в верхней части самого скрипта:

dow_hour=$(date +%u%H)
if [[ ${dow_hour} = "122" ]] ; then # Mondays, 10:xx PM
    exit
fi

В качестве альтернативы ничто не мешает вам иметь несколько записей cron для одного и того же задания, если вы хотите локального управления:

H/5 *       * * 0,2-6 blah blah blah # continuously on non-mondays
H/5 0-21,23 * * 1     blah blah blah # not between 10/11pm on mondays
person paxdiablo    schedule 04.09.2014

Как насчет использования двух записей crontab? Один на все дни кроме понедельника и один только на понедельник?

H/5 * * * 0,2-6
H/5 0-21,23 * * 1
person toddlermenot    schedule 04.09.2014