這些星號由左到右按順序代表 : * * * * * * *
格式: [秒] [分] [小時] [日] [月] [周] [年]
序號 說明 是否必填 允許填寫的值 允許的萬用字元
1 秒 是 0-59 , - * /
2 分 是 0-59 , - * /
3 小時 是 0-23 , - * /
4 日 是 1-31 , - * ? / l w
5 月 是 1-12 or jan-dec , - * /
6 周 是 1-7 or sun-sat , - * ? / l #
7 年 否 empty 或 1970-2099 , - * /
接下來的cron表示式,我會結合著quartz來描述。首先cron表示式是有7個域的,依次分別是:秒分時日月周年,其中年是可選型別,也就是說他如果在不設定年分的情況下是每年。
1、星號(*)
他在每個域都可以存在,包含所有合法的值,看好這裡是包含所有,意思就是說在那乙個域上表示這個域上的所有值,加入在月,表示1-12,也就是說是每月,都會被執行。
示例1:0**1*? note:每月1號凌晨都會被執行。
示例2:0**?** note:每分鐘的00秒被執行。
2、問號(?)
他在cron表示式中,必定存在,有且只有乙個,且他只能在日和周的域中存在,表示,不關係這個域是什麼值,看好了,跟*的包含所有值不同,他是不關係是月的哪一天或是周的哪一天。如果在周域定義具體的數值,日域必須為問號(?),如果在日域定義啦具體的數值,那麼周域就必須為問號(?)。為什麼,因為避免含糊不清的表達方式,比如3月的第20天,剛好是第三週的第5天,那麼如果在日域定義20,周域定義5這樣,就雙重定義,很蛋疼。cron表示式也不允許。
示例1:0 10 18 ? 3 web note:每年3月的每個星期三,下午6點10分都會被觸發
示例2:0 10 18 15 3 ? note:每年三月的第15天,下午6點10分都會被觸發
3、橫槓(-)
他在cron表示式中,可以存在任何域,如果存在某個域,表示起止時間,他表示乙個時間段。
例項1:0 10 18 1-5 * ? note:每月的1號到5號(包含每月1號和5號,每月共計5天都會被觸發),下午6點10分都會被觸發
例項2:0 10-15 * ? * * note:每小時的第10分鐘到第15分鐘(包含每小時的第10分鐘和第15分鐘,每小時共計5分鐘都會被觸發),都會被觸發
4、逗號(,)
他在cron表示式中,可以存在任何域,如果存在某個域,表示可選值,他是個多點的概念。
例項1:10,20 * * ? * * note:每分鐘的第10秒與第20秒都會被觸發
例項2:0 10,20 * 1,2 * ? note:每月的第1天與第2天的,每小時的第10分鐘與第20分鐘被觸發。
5、斜劃線(/)
他在cron表示式中,可以存在任何域,表示增量,是在域中設定乙個起始的值,然後每隔多少時間的概念。
例項1:5/20 * * ? * * note:每分鐘的第5秒,第25秒,第45秒 都會被執行。
例項2:0 * 2/2 ? * * note:每天的第2小時,第4小時,第6小時,第8小時 ... 第22小時的00分00秒都會被觸發。
6、井號(#)
他在cron表示式中,只能存在周這乙個域,表示第幾周的星期幾,如果超出範圍,則忽略不記。
例項1:* * * ? * 3#4 note:每月的第4個星期的周2,凌晨觸發。
例項2:* * * ? * 6#2 note:每月的第2個星期的周5,凌晨觸發
常用示例:
0 0 12 * * ? 每天12點觸發
0 15 10 ? * * 每天10點15分觸發
0 15 10 * * ? 每天10點15分觸發
0 15 10 * * ? * 每天10點15分觸發
0 15 10 * * ? 2005 2023年每天10點15分觸發
0 * 14 * * ? 每天下午的 2點到2點59分每分觸發
0 0/5 14 * * ? 每天下午的 2點到2點59分(整點開始,每隔5分觸發)
0 0/5 14,18 * * ? 每天下午的 2點到2點59分(整點開始,每隔5分觸發)以及每天下午的 18點到18點59分(整點開始,每隔5分觸發)
0 0-5 14 * * ? 每天下午的 2點到2點05分每分觸發
0 10,44 14 ? 3 wed 3月分每週三下午的 2點10分和2點44分觸發 (特殊情況,在乙個時間設定裡,執行兩次或 兩次以上的情況)
0 59 2 ? * fri 每週5凌晨2點59分觸發;
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 從2023年到2023年每月最後一周的星期五的10點15分觸發
0 15 10 ? * 6#3 每月的第三週的星期五開始觸發
0 0 12 1/5 * ? 每月的第乙個中午開始每隔5天觸發一次
0 11 11 11 11 ? 每年的11月11號 11點11分觸發(光棍節)
Java定時器的cron設定詳解
這些星號由左到右按順序代表 格式 秒 分 小時 日 月 周 年 序號 說明 是否必填 允許填寫的值 允許的萬用字元 1 秒 是 0 59 2 分 是 0 59 3 小時 是 0 23 4 日 是 1 31 l w 5 月 是 1 12 or jan dec 6 周 是 1 7 or sun sat ...
Java定時器的cron設定詳解
這些星號由左到右按順序代表 格式 秒 分 小時 日 月 周 年 序號 說明 是否必填 允許填寫的值 允許的萬用字元 1 秒 是 0 59 2 分 是 0 59 3 小時 是 0 23 4 日 是 1 31 l w 5 月 是 1 12 or jan dec 6 周 是 1 7 or sun sat ...
cron風格定時器 crontab定時器工具
要使用crontab定時器工具,必須要啟動cron服務 service cron start crontab各引數說明 e 執行文字編輯器來編輯crontab,內定的文字編輯器是vi r 刪除目前的crontab l 列出目前的crontab 檢視專用 代表所有的取值範圍內的數字。特別要注意哦!代表...