Я хотел бы, чтобы LaunchD запускал скрипт каждые две недели. Следующее работает хорошо для каждой недели, но как я могу запланировать его запуск только каждую вторую неделю?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Program</key>
        <string>/scripts/autoSample</string>
        <key>AbandonProcessGroup</key>
        <true/>
        <key>Debug</key>
        <true/>
        <key>StartCalendarInterval</key>
        <dict>
                <key>Weekday</key>
                <integer>0</integer>
                <key>Minute</key>
                <integer>40</integer>
                <key>Hour</key>
                <integer>8</integer>
        </dict>
        <key>Label</key>
        <string>autoSample</string>
</dict>
</plist>

2 ответа2

1

Как насчет использования StartInterval 2 недели (1209600 секунд) вместо этого?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Program</key>
        <string>/scripts/autoSample</string>
        <key>AbandonProcessGroup</key>
        <true/>
        <key>Debug</key>
        <true/>        
        <key>StartInterval</key>
        <integer>1209600</integer>
        <key>Label</key>
        <string>autoSample</string>
</dict>
</plist>
0

Вы можете добавить что-то вроде этого в начале программы:

(($(date +%V) % 2 == 0)) && exit

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