定時任務Cron表示式
阿新 • • 發佈:2022-01-02
Schedule Task Cron表示式
Cron表示式使用格式
Seconds | Minutes | Hours | DayofMonth | Month | DayofWeek | [Year] |
---|---|---|---|---|---|---|
秒 | 分 | 時 | 天 | 月 | 周 | [年] |
每個符號代表的含義:
-
*****:匹配該域的任意值;如*用在分所在的域,表示每分鐘都會觸發事件。
-
?:匹配該域的任意值。
-
-:匹配一個特定的範圍值;如時所在的域的值是10-12,表示10、11、12點的時候會觸發事件。
-
,:匹配多個指定的值;如周所在的域的值是2,4,6,表示在週一、週三、週五就會觸發事件(1表示週日,2表示週一,3表示週二,以此類推,7表示週六)。
-
/:左邊是開始觸發時間,右邊是每隔固定時間觸發一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的時候都觸發一次事件。
-
L:last,最後的意思,如果是用在天這個域,表示月的最後一天,如果是用在周所在的域,如6L,表示某個月最後一個週五。(外國週日是星耀日,週一是月耀日,一週的開始是週日,所以1L=週日,6L=週五。)
-
W:weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是週六,觸發器將觸發上14日週五。如果15日是週日,觸發器將觸發16日週一。如果15日不是週六或週日,而是週一至週五的某一個,那麼它就在15日當天觸發事件。
-
#:用來指定每個月的第幾個星期幾,如6#3表示某個月的第三個星期五。
實用的例子 表示式 含義
“0 0 12 * * ?” | 每天12:00觸發事件 |
“0 15 10 ? * *” | 每天10:15觸發事件 |
“0 15 10 * * ?” | 每天10:15觸發事件 |
“0 15 10 * * ? *” | 每天10:15觸發事件 |
“0 15 10 * * ? 2005″ | 2005年的每天10:15觸發事件 |
“0 * 14 * * ?” | 每天14點開始觸發,每分鐘觸發一次,14:59分結束 |
“0 0/5 14 * * ?” | 每天14點開始觸發到14:59分結束的每5分鐘觸發一次事件 |
“0 0/5 14,18 * * ?” | 每天14點開始到14:59期間和18點到18:59期間的每5分鐘觸發一次事件 |
“0 0-5 14 * * ?” | 每天14點到14:05期間的每1分鐘觸發一次事件 |
“0 10,44 14 ? 3 WED” | 每年3月的星期三的14:10和14:44觸發一次事件 |
“0 15 10 ? * MON-FRI” | 週一至週五的10:15觸發一次事件 |
“0 15 10 15 * ?” | 每月15日10:15觸發一次事件 |
“0 15 10 L * ?” | 每月最後一日的10:15觸發一次事件 |
“0 15 10 ? * 6L” | 每月的最後一個星期五10:15觸發一次事件 |
“0 15 10 ? * 6L 2002-2005″ | 2002年至2005年的每月的最後一個星期五10:15觸發一次事件 |
“0 15 10 ? * 6#3″ | 每月的第三個星期五10:15觸發一次事件 |