Этот вид логики c не будет полностью возможен из вашего расписания crontab. Я также укажу на вероятность того, что понедельник , а не обязательно будет «следующим рабочим днем» (например, в выходные дни), и в этом случае вы также можете учесть это.
Если вы всегда выберете понедельник, когда 9-е число будет выходным (независимо от того, что этот понедельник реальный рабочий день , вы можете запланировать выполнение задания cron на 9-е, 10-го и 11-го числа каждого месяца. Например, это будет выполняться 9/10/11-го числа в 8:00 каждый месяц:
* 8 9-11 * 0 your_script
После этого логика c для определения необходимости запуска задач должна обрабатываться внутри самого скрипта. Если вы используете Python, например:
import datetime
today = datetime.date.today()
weekday = today.weekday()
if weekday is 5 or weekday is 6:
print("it's the weekend, do nothing")
elif today.day is 9 or (today.day is not 9 and weekday is 0):
print("run the script on the 9th or the first Monday after the 9th")
else:
print("this should not happen")
(обратите внимание, что скрипт будет работать на каждый понедельник с этой логикой c, но если вы настроите задание cron только на 9/10/11-е число месяца, то оно будет работать просто отлично)
Я очень надеюсь, что это поможет!