天天看點

Cron表達式使用介紹域講解在Linux中的使用在spring中使用

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,代碼如下:

Cron表達式使用介紹域講解在Linux中的使用在spring中使用

檢視設定的定時任務

crontab -l
           
Cron表達式使用介紹域講解在Linux中的使用在spring中使用

可以使用man幫助文檔進行學習crontab指令。

在spring中使用

在平時開發中,需要寫定時任務,我們可以使用spring的@Scheduled注解,設定一個cron的值進行設定。

@Scheduled(cron="10 * * * * ?")
public void scheduledTask(){
	/****do somethings***/
}
           

繼續閱讀