Cron Expression

Cron-Expresstion in Linux
 
cron來自希臘語的chronos(時間)一詞。在linux中,通過運行crontab -e就可以設置在特定的時刻自動運行你指定的程序。每個用戶的自動運行程序,都放在/var/spool/cron/目錄下,以自己用戶名命名的文件中。在這些文件中,每一行都設置一個自動指行的命令,以及其運行的時間。每一行都由7個字段構成,相鄰的字段以空格相間,每個字段的含義如下
 
Field Meaning
1 Minute (0-59)
2 Hour (2-24)
3 Day of month (1-31)
4 Month (1-12, Jan, Feb, etc)
5 Day of week (0-6) 0 = Sunday, 1 = Monday etc or Sun, Mon, etc)
6 User that the command will run as
7 Command to execute
 
補充說明:
  • 用*/n表示某字段單位時間內運行n次
  • 可以通過以“,”相隔的一列數字,在表示某字段運行的特定值
  • 可以通過n-m來指定n到m 這個區間
  • 可以用>>logfile 2>&1來將程序運行的輸出或錯誤都寫到logfile中
  • /dev/null 2>&1可用丟棄程序運行時的輸出或錯誤
  • 可將幾個命令以;相隔用()包括起來

參考文檔: Cron Help Guide

 

Cron-Expression in Quartz

表達式用" "分隔爲7個部分,每部分含義如下

 

Field Name lowed Values Allowed Special Characters
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W C
Month 1-12 or JAN-DEC , - * /
Day-of-Week 1-7 or SUN-SAT , - * ? / L C #
Year (Optional) empty, 1970-2099 , - * /
 
補充說明:
  • '*'代表 '任何值'
  • '?'也代表 '任何值', 但只用於 Day-of-month 和 Day-of-Week, 當其中一個設置了條件時,另外一個就要用'?' 來表示 '任何值'
  • '-'用來表示範圍, 比如 Day-of-month 5-10 代表 5號到10號
  • ','用來添加附加的參數,比如 Hours 4,14 代表 上午4點和下午兩點
  • '/'用來代表增量以用來循環,比如 Hours 2/6 代表 2點,8點,下午2點,下午8點
  • 'L'用於 Day-of-month 和 Day-of-Week, 代表最後1天, 在Day-of-month中只用'L'就可以,在Day-of-week中用 'nL' 來代表是最後一個星期n
  • 'W'用於 Day-of-month, 代表最近工作日,比如 '15W', 如果15號那天是週六則取14號週五,如果是週日則取16號週一,其他情況不變
  • 'LW' 代表當月最後一個工作日
  • '#'用於 Day-of-Week, 'n#m'用於代表當月第m個 "周n"(根據n在week中的定義確定)
  • 'C'似乎目前還沒實現完全,暫不解釋(自己也還不是很清楚,先看文檔吧) 
發佈了6 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章