A cron expression is a string of characters separated by 5 or 6 spaces, starting 6 or 7 fields, each representing a meaning, and cron having the following two syntaxes
Format:
Seconds Minutes Hours dayofmonth Month DayofWeek year or
Seconds Minutes Hours dayofmonth Month DayofWeek
The following characters can appear for each field:
Code
Seconds: Can appear,-*/four characters, valid range is 0-59 integer
Minutes: Can appear,-*/four characters, valid range is 0-59 integer
Hours: Can appear,-*/four characters, valid range is 0-23 integer
DayOfMonth: Can appear,-*/? L W c Eight characters, integer with a valid range of 0-31
Month: Can appear,-*/four characters, valid range is 1-12 integer or Jan-dec
DayofWeek: Can appear,-*/? L C #四个字符, an integer with a valid range of 1-7 or a range of Sun-sat two. 1 means Sunday, 2 means Monday, and so on
Year: can appear,-*/four characters, valid range is 1970-2,099 years
Each field uses numbers, but the following special characters can appear, meaning:
Code
(1) *: Indicates any value that matches the field, and if you use * in the Minutes domain, the event will be triggered every minute.
(2)?: can only be used in DayOfMonth and DayOfWeek two domains. It also matches any value of the field, but it does not. Because DayOfMonth and DayOfWeek will affect each other. For example, to trigger a schedule on the 20th of each month, regardless of whether the 20th is the day of the week, you can only use the following: 13 13 15 20 *?, the last one can only be used? , but not with *, if using * means that the day of the week will trigger, in fact it is not.
(3)-: Indicates a range, for example, using 5-20 in the Minutes domain, indicating that it is triggered every minute from 5 minutes to 20 minutes
(4)/: Indicates that the start time starts triggering and then fires once every fixed time, such as using 5/20 in the Minutes domain, which means that 5 minutes is triggered once, and 25,45 is triggered separately.
(5),: Indicates that the enumeration value value is listed. For example, using 5,20 in a minutes domain means firing at 5 and 20 minutes per minute.
(6) L: Indicates that finally, only in the DayOfWeek and dayofmonth domains, if 5L is used in the DayOfWeek domain, it means that it is triggered in the last Thursday.
(7) W: Indicates a valid weekday (Monday to Friday) that can only appear in the DayOfMonth domain, and the system will trigger the event on the most recent active weekday from the specified date. For example: Use 5W in DayOfMonth, if 5th is Saturday, it will be triggered on the most recent weekday: Friday, 4th. If 5th is Sunday, it will be triggered on 6th, and if 5th is a day from Monday to Friday, it is triggered on 5th. Another point, W's recent search won't cross the month
(8) LW: These two characters can be used together, indicating the last working day of the month, that is, the last Friday.
(9) #: Used to determine the number of weeks per month, can only appear in the DayOfMonth domain. For example in 4#2, which represents the second Wednesday of a month.
For a few examples:
Code
0 0 2 1 *? * Indicates a scheduled task at 2 o'clock in the morning on the 1st of each month
0 15 10? * Mon-fri represents Monday to Friday daily 10:15 execution of jobs
0 15 10? 6L 2002-2006 represents the last Friday of every month of 200-2006.10:15 execution of a job
91linux
A cron expression has at least 6 (or possibly 7) time elements that have a space separation. In order of
Seconds (0~59)
Minutes (0~59) hours (0~23) days (months) (0~31, but you need to consider the days of your month) month (0~11) days (weeks) (1~7 1=sun or Sun,mon,tue,wed,thu,fri, SAT) 7. Year (1970-2099) Each of these elements can be a value (such as 6), a continuous interval (9-12), a time interval (8-18/4) (/= every 4 hours), a list (1,3,5), and a wildcard character. Because the "date in the month" and "date in the week" are mutually exclusive, one of the two elements must be set. 0 0 10,14,16 * *? 10 o'clock in the morning, 2 o'clock in the afternoon, 4 O ' Day
0 0/30 9-17 * *? Every half hour for nine to five working hours
0 0 12? * WED means every Wednesday noon 12 o'clock
"0 0 12 * *?" trigger 12 o'clock noon every day.
"0 15 10?" * * "trigger 10:15 every day"
"0 15 10 * *?" Daily 10:15 Trigger
"0 15 10 * *?" * "10:15 per day" trigger
"0 15 10 * *?" 2005 "2005-year daily 10:15 Trigger
"0 * 14 * *?" triggers every 1 minutes from 2 o'clock in the afternoon to 2:59 daily
"0 0/5 14 * *?" triggers every 5 minutes from 2 o'clock in the afternoon to 2:55 daily
"0 0/5 14,18 * *?" triggers every 5 minutes from 2 o'clock in the afternoon to 2:55 daily and from 6 o'clock in the afternoon to 6:55
"0 0-5 14 * *?" triggers every 1 minutes from 2 o'clock in the afternoon to 2:05 daily
"0 10,44 14?" 3 WED "2:10 and 2:44 triggers in Wednesday of every March
"0 15 10?" * Mon-fri "Monday to Friday 10:15 trigger
"0 15 10 15 *?" 15th 10:15 per month
"0 L *?" 10:15 on the last day of the month
"0 15 10?" * 6L "Last month of Friday 10:15 Trigger
"0 15 10?" * 6L 2002-2005 "2002 to 2005 the last of the monthly Friday 10:15 trigger
"0 15 10?" * 6#3 "Monthly third Friday 10:15 trigger
Some sub-expressions can contain ranges or lists such as: Sub-expressions (days (weeks)) can be "Mon-fri", "Mon,wed,fri", "Mon-wed,sat" "*" characters represent all possible values therefore, "*" in the sub-expression (month) represents the meaning of each month, "*" In a subexpression (Day (week)) that represents the day of the week the "/" character is used to specify the increment of the numeric value for example: "0/15" in sub-expressions (minutes) means starting from the No. 0 minute, every 15 minutes in the sub-expression (minutes) of "3/20" for every 20 minutes (it and "3, 23, 43 ") means the same
“? "Character is used only for days (months) and days (weeks) two sub-expressions, indicating that no worth 2 sub-expressions are specified after one of the values has been specified, in order to avoid a conflict, the value of another subexpression needs to be set to"? The "L" character is used only for days (months) and days (weeks) of two sub-expressions, which is the abbreviation of the word "last" but it has a different meaning in two sub-expressions. In the day (month) subexpression, "L" means the last day of one months in the day (week) Self-expression, "L" represents the last day of one weeks, that is, if the SAT has specific content before "L", it has other meanings, for example: "6L" means the 6th day of the month, "Fril" The last Friday of the month. Note: When using the "L" parameter, do not specify a list or range, as this will cause the problem field to allow the special characters allowed by the value
Seconds 0-59,-*/
Sub 0-59,-*/
Hours 0-23,-*/
Date 1-31,-*? /L W C
Month 1-12 or JAN-DEC,-*/
Week 1-7 or Sun-sat,-*? /L C #
Year (optional) leave blank, 1970-2099,-*/
<!--
Note: Day and week are Ninchen one
?: Represents dispensable
*: Represents every year
Seconds of day and month
0 0 0 10 12? 2009//Representative: December 10, 2009 0:0 0 Seconds Execution (day of the week: '? ') Representative ignored)
0 0 0 10 12? *//representative: December 10 0:0 0 seconds per year execution
0 0 0 10 *? Representative: 10th 0:0 0 seconds per month execution
0 0 1 1 *? Rep: 1th per month, 1 pips, 0 minutes, 0 seconds execution
0 0 1 1 3,6,9? Representative: March June September, 1th, 1 points 0 minutes 0 seconds execution
0 0 1 1 2-5?
--Example:
@Override
@Scheduled (cron = "0 0 14 * * *")//14 points per day
public void Run () {
if (taskdisable) {
Logger.trace ("Task Disable.");
Return
}
Execute ();
}
Spring cron Expressions