1. 程式人生 > 其它 >定時任務Cron表示式

定時任務Cron表示式

Schedule Task Cron表示式

Cron表示式使用格式

Seconds Minutes Hours DayofMonth Month DayofWeek [Year]
[年]

每個符號代表的含義:

  1. *****:匹配該域的任意值;如*用在分所在的域,表示每分鐘都會觸發事件。

  2. ?:匹配該域的任意值。

  3. -:匹配一個特定的範圍值;如時所在的域的值是10-12,表示10、11、12點的時候會觸發事件。

  4. ,:匹配多個指定的值;如周所在的域的值是2,4,6,表示在週一、週三、週五就會觸發事件(1表示週日,2表示週一,3表示週二,以此類推,7表示週六)。

  5. /:左邊是開始觸發時間,右邊是每隔固定時間觸發一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的時候都觸發一次事件。

  6. L:last,最後的意思,如果是用在天這個域,表示月的最後一天,如果是用在周所在的域,如6L,表示某個月最後一個週五。(外國週日是星耀日,週一是月耀日,一週的開始是週日,所以1L=週日,6L=週五。)

  7. W:weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是週六,觸發器將觸發上14日週五。如果15日是週日,觸發器將觸發16日週一。如果15日不是週六或週日,而是週一至週五的某一個,那麼它就在15日當天觸發事件。

  8. #:用來指定每個月的第幾個星期幾,如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觸發一次事件