Cron表達式使用
- 介紹
- 域講解
-
- cron相關符号和使用
- 在Linux中的使用
- 在spring中使用
計劃任務,是任務在約定的時間執行已經計劃好的工作,這是表面的意思。在Linux中,我們經常用到 cron 伺服器來完成這項工作。cron伺服器可以根據配置檔案約定的時間來執行特定的任務。
介紹
一個cron表達式是由6~7個域組成的,并且已空格分隔的字元串。cron原來是在unix中的工具之一。主要用于定時排程任務使用。cron核心使用就是cron表達式來處理任務排程。
域講解
一個完整的cron表達式總共有7個域,從左到右表示秒、分、小時、月份中的日期、月份、星期中的日期 、年份
其中年份項為可選項,不一定要有,是以一般設定定時任務不會寫年份,這樣就是6位。
cron相關符号和使用
- ﹡:允許該域使用全部的值
- ?:隻允許出現在第4個域(月份中的日期)和第6個域(星期中的日期),表示不考慮該域的取值,由于兩個域中的資料可能存在沖突
- -:該符号辨別範圍
- ,:該符号表示一個域内并列的多個值
- /:該符号設定步長
- L:表示最後
- W:表示周1到周5,該符号隻能出現在第4個域中并且隻能與其他值組合使用
- #:該符号隻能出現在第6個域中(星期中的日期),表示該月的第幾天
在Linux中的使用
在linux中使用crontab指令進行操作cron,代碼如下:
檢視設定的定時任務
crontab -l
可以使用man幫助文檔進行學習crontab指令。
在spring中使用
在平時開發中,需要寫定時任務,我們可以使用spring的@Scheduled注解,設定一個cron的值進行設定。
@Scheduled(cron="10 * * * * ?")
public void scheduledTask(){
/****do somethings***/
}