2

Я пытаюсь запускать скрипт каждую минуту (или 20 секунд) между 06:30 и 10:30 каждый будний день с помощью launchd. У меня сейчас скрипт запускается каждую минуту / X секунд, но я не знаю, как ограничить его рабочими днями между двумя определенными моментами.

Вопрос Запуск задания cron каждые 5 минут между двумя ответами дает ответ для cron, но я бы хотел сделать то же самое с помощью launchd.

Как мне это сделать?

1 ответ1

3

StartCalendarInterval также может быть массивом словарей, подобных этому: for w in {1..5}; do for h in {6..11}; do echo "<dict><key>Weekday</key><integer>$w</integer><key>Hour</key><integer>$h</integer><key>Second</key><integer>0</integer></dict>"; done; done | pbcopy .

Вы также можете запускать скрипт каждую минуту, но выходить из него в зависимости от времени или даты:

weekday=$(date +%u)
hour=$(date +%-H)
min=$(date +%-M)    
[ $weekday -ge 6 ] && exit
[ $hour -le 5 -o $hour -eq 6 -a $min -le 29 ] && exit
[ $hour -ge 11 -o $hour -eq 10 -a $min -ge 31 ] && exit

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .