Вы не можете (или, по крайней мере, я недостаточно умен, чтобы понять, как это сделать).
На вкладке cron есть ограничения, которые позволяют вам выбрать день месяца и день недели .
Все рабочие дни будут днями недели 1-5, но этого недостаточно, потому что вам нужно сосчитать или выразить
6th, 7th, 8th day of (days-of-week:1-5) in this month
Итак, вам нужен сценарий.
$ cat /home/jaroslav/tmp/workday-567.sh #!/bin/bash jan01() { date +%s -d `date +%Y-01-01`; } december() { echo $(($(jan01) + 365*24*3600)); } day=`jan01`; december=`december`; today=$ this_months_678th=$( while [ $day -lt $december ];do date '+%Y-%m-%d %B %A %u' -d@$day; let day=$day+86400; done | sort -u | sed -e "/[67]$/d; /$(date '+%Y-%m')/!d" | sed -n -e '6p; 7p; 8p' ) if echo -e "$this_months_678th" | grep -q $today; then exit 0 fi exit 1
Ноябрь 2018 года;
$ for i in 2018-11-; do bash /home/jaroslav/tmp/workday-567.sh $i && echo run on $i; done run on 2018-11-08 run on 2018-11-09 run on 2018-11-12