我正在使用launchd来运行一些自动化任务,我想知道'Day'和'Weekday'之间有什么区别。
根据http://discussions.apple.com/thread.jspa?threadID=1361809的说法,存在一种“微妙”的差异,可能会导致发射不良行为。
最后,我想在每个工作日(周一至周五)早上8点运行一个plist,但我不知道如何获得相当于
0 8 * * 1-5
日是这个月的一天。
工作日是一周中的某一天(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那么优雅......
您也应该能够使用连字符来指定范围:
<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/)
试试这个。为我工作!
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>00</integer>
<key>Hour</key>
<integer>22</integer>
<key>Weekday</key>
<integer>12345</integer>
</dict>