Запускать скрипт для задания cron каждое воскресенье, кроме случаев, когда в воскресенье наступает 1-е число месяца.

Клиент попросил запускать скрипт для задания cron каждое воскресенье, кроме тех случаев, когда в воскресенье наступает 1-е число месяца.

упомянутый ниже Мое текущее расписание:

25 2 * * Вс

Как я могу изменить для этого cronjob

Любой может помочь


person user189294    schedule 01.01.2014    source источник


Ответы (2)


Вы не можете легко выразить такие сложные условия в спецификации crontab.

То, что у вас есть, хорошо в том, что касается cron. Что бы я сделал сейчас, так это либо

  • напишите короткий фрагмент оболочки, возвращающий истину / ложь с учетом дня месяца и связывающий команду: isNotFirstDay && commandYouWantToRun, или
  • встроить логику дня месяца в программу или сценарий, который вы вызываете каждое воскресенье, и пропустить ее, если это первое число месяца
person Dirk Eddelbuettel    schedule 01.01.2014

Вы можете использовать date +%d, чтобы получить день месяца.

Запустите ваш скрипт, если результат не равен «01».

25 2 * * Солнце [$ (date +% d)! = "01"] && myscript.sh

person Brightshine    schedule 02.01.2014