Какая разница между "Day" и "Weekday" в startd StartCalendarInterval?

Я работаю с launchd для запуска некоторых автоматизированных задач, и мне было интересно, какая разница между "Day" и "Weekday".

В соответствии с http://discussions.apple.com/thread.jspa?threadID=1361809 существует "тонкая" разница, которая может привести к неправильной работе launchd.

В конечном счете, я хотел бы иметь plist, который работает каждый будний день (пн-пт) в 8 утра, но я не знаю, как получить эквивалент cron

0 8 * * 1-5

Ответы

Ответ 1

День - это день месяца.

День недели - это день недели (0 и 7 == воскресенье).

Для вас вам нужно:

<key>StartCalendarInterval</key>
<array>
    <dict>
        <key>Weekday</key>
        <integer>1</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <dict>
        <key>Weekday</key>
        <integer>2</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <dict>
        <key>Weekday</key>
        <integer>3</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <dict>
        <key>Weekday</key>
        <integer>4</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <dict>
        <key>Weekday</key>
        <integer>5</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</array>

Не так элегантно, как cron...

Ответ 2

попробуйте это тоже. Работаю для меня!

     <key>StartCalendarInterval</key>

    <dict>

            <key>Minute</key>

            <integer>00</integer>

            <key>Hour</key>

            <integer>22</integer>

            <key>Weekday</key>

            <integer>12345</integer>

    </dict>

Ответ 3

Вы также можете использовать дефисы для указания диапазонов:

<key>StartCalendarInterval</key>
<array>
    <dict>
        <key>Weekday</key>
        <integer>1-5</integer>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</array>

Я не тестировал это. (Источник: http://www.launchd.info/)