Скрип должен выполнятся один раз в месяц в 12:00 7,8,9 или 10 числа в рабочий день.
Эти условия крон не потянет.
Как вариант - в самом скрипте прописать следующие проверки:
1. что задача уже запускалась в этом месяце - если да, то сразу выход.
2. что задача запущена в будничный день - если нет, то сразу выход.
Тогда в крон пишем:
0 12 7-10 * * "наш скрипт"
Чуть более изощренно можно решить через
systemd но и там врят ли удастся обойтись без доп. проверок в скрипте.