【Cron表示式】小貼士

onejay發表於2024-05-16

表示式檢測網站

CRON 有如下兩種語法格式:

  • 秒 分 小時 日期 月份 星期 年

  • 秒 分 小時 日期 月份 星期

字元

含義

示例

*

表示匹配域的任意值

在分這個域使用 *,即表示每分鐘都會觸發事件。

表示匹配域的任意值,但只能用在日期和星期兩個域,因為這兩個域會相互影響。

要在每月的 20 號觸發排程,不管每個月的 20 號是星期幾,則只能使用如下寫法:13 13 15 20 * ?。其中,因為日期域已經指定了 20 號,最後一位星期域只能用 ?,不能使用 *。如果最後一位使用 *,則表示不管星期幾都會觸發,與日期域的 20 號相斥,此時表示式不正確。

-

表示起止範圍

在分這個域使用 5-20,表示從 5 分到 20 分鐘每分鐘觸發一次。

/

表示起始時間開始觸發,然後每隔固定時間觸發一次

在分這個域使用 5/20,表示在第 5 分鐘觸發一次,之後每 20 分鐘觸發一次,即 5、 25、45 等分別觸發一次。

,

表示列出列舉值

在分這個域使用 5,20,則意味著在 5 和 20 分每分鐘觸發一次。

L

表示最後,只能出現在日和星期兩個域

在星期這個域使用 5L,意味著在最後的一個星期四觸發。

W

表示有效工作日(週一到週五),只能出現在日這個域,系統將在離指定日期最近的有效工作日觸發事件。

在日這個域使用 5W,如果 5 號是星期六,則將在最近的工作日星期五,即 4 號觸發。如果 5 號是星期天,則在 6 號(週一)觸發;如果 5 號為工作日,則就在 5 號觸發。另外,W 的最近尋找不會跨過月份。

LW

這兩個字元可以連用,表示在某個月最後一個工作日,即最後一個星期五。

#

表示每個月第幾個星期幾,只能出現在星期這個域

在星期這個域使用 4#2,表示某月的第二個星期三,4 表示星期三,2 表示第二個。

相關文章