【发布时间】:2017-04-11 18:10:57
【问题描述】:
我正在尝试使用 Launchd 在每个月的最后一天安排一份工作,但我不太确定该怎么做。似乎我得到的唯一选项是选择月份日期的数字,例如,我可以选择在第 31 天运行,但是在 2 月和 9 月会发生什么?如果值为 31,Launchd 是否只是在每个月的最高天数运行它?
感谢您的帮助!
-丹
【问题讨论】:
标签: launchd
我正在尝试使用 Launchd 在每个月的最后一天安排一份工作,但我不太确定该怎么做。似乎我得到的唯一选项是选择月份日期的数字,例如,我可以选择在第 31 天运行,但是在 2 月和 9 月会发生什么?如果值为 31,Launchd 是否只是在每个月的最高天数运行它?
感谢您的帮助!
-丹
【问题讨论】:
标签: launchd
AFAIK 没有一种“好的”方式来表达每个月的最后一天。如果您执行“31”,它根本不会在 2 月或以 30 结尾的月份运行。
您能否解决这个要求,只使用每月第一天的午夜?
您可以冗长并在 plist 中执行以下操作,并定义每个月的最后一天。闰年 2 月有 29 天。
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Day</key>
<integer>31</integer>
<key>Month</key>
<integer>1</integer>
</dict>
<dict>
<key>Day</key>
<integer>28</integer>
<key>Month</key>
<integer>2</integer>
</dict>
<dict>
<key>Day</key>
<integer>31</integer>
<key>Month</key>
<integer>3</integer>
</dict>
</array>
【讨论】: