Завдяки тому, як cron робить свою обробку, я не впевнений, що ви можете використовувати cron само собою зробити це. Від крон (8) man page:
Утиліта cron потім прокидається кожну хвилину, перевіряючи всі збережені crontabs, перевіряючи кожну команду, щоб побачити, чи вона повинна бути запущена в поточній хвилині. При виконанні команд будь-який висновок надсилається власнику crontab (або користувачеві, названому в змінній середовища MAILTO у crontab, якщо такий існує).
Cron не має жодного методу для ідентифікації вже запущених записів. Отже, ви могли б зробити це:
* 16-23 * * 1-5 <script>
Але, це просто сказати cron, щоб запустити цей сценарій кожну хвилину з 16:00 до 23:59, доки крон працював. (Дивлячись на crontab (5) man page, я не думаю, що ви можете зробити "16-24" або "16-0.")
Отже, якщо ви хочете щось бігти один раз з 16:00 до опівночі, моя пропозиція - запустити скрипт кожні 15 хвилин після 16:00.
*/4 16-23 * * 1-5 <script>
Потім, у скрипті , вкажіть певний метод, щоб визначити, чи запущено цей сценарій у цей день.