PostIT

[Spring/Scheduled] Cron Example - 표현식 본문

Spring/Scheduler

[Spring/Scheduled] Cron Example - 표현식

shun10114 2016. 11. 23. 10:34

* Scheduler에 쓰이는 Cron 표현식에 대한 정리.



  • A Cron Expressions

Cron expressions are used to configure instances of CronTrigger, a subclass of org.quartz.Trigger. A cron expression is a string consisting of six or seven subexpressions (fields) that describe individual details of the schedule.

These fields, separated by white space, can contain any of the allowed values with various combinations of the allowed characters for that field. Table A-1 shows the fields in the expected order.

Table A-1 Cron Expressions Allowed Fields and Values

NameRequiredAllowed ValuesAllowed Special Characters

Seconds

Y

0-59

, - * /

Minutes

Y

0-59

, - * /

Hours

Y

0-23

, - * /

Day of month

Y

1-31

, - * ? / L W C

Month

Y

0-11 or JAN-DEC

, - * /

Day of week

Y

1-7 or SUN-SAT

, - * ? / L C #

Year

N

empty or 1970-2099

, - * /



  • Example A-1 Cron Expressions


Cron expressions can be as simple as * * * * ? * or as complex as 0 0/5 14,18,3-39,52 ? JAN,MAR,SEP MON-FRI 2002-2010.

Here are some more examples:

ExpressionMeans
0 0 12 * * ?Fire at 12:00 PM (noon) every day
0 15 10 ? * *Fire at 10:15 AM every day
0 15 10 * * ?Fire at 10:15 AM every day
0 15 10 * * ? *Fire at 10:15 AM every day
0 15 10 * * ? 2005Fire at 10:15 AM every day during the year 2005
0 * 14 * * ?Fire every minute starting at 2:00 PM and ending at 2:59 PM, every day
0 0/5 14 * * ?Fire every 5 minutes starting at 2:00 PM and ending at 2:55 PM, every day
0 0/5 14,18 * * ?Fire every 5 minutes starting at 2:00 PM and ending at 2:55 PM, AND fire every 5 minutes starting at 6:00 PM and ending at 6:55 PM, every day
0 0-5 14 * * ?Fire every minute starting at 2:00 PM and ending at 2:05 PM, every day
0 10,44 14 ? 3 WEDFire at 2:10 PM and at 2:44 PM every Wednesday in the month of March
0 15 10 ? * MON-FRIFire at 10:15 AM every Monday, Tuesday, Wednesday, Thursday and Friday
0 15 10 15 * ?Fire at 10:15 AM on the 15th day of every month
0 15 10 L * ?Fire at 10:15 AM on the last day of every month
0 15 10 ? * 6LFire at 10:15 AM on the last Friday of every month
0 15 10 ? * 6LFire at 10:15 AM on the last Friday of every month
0 15 10 ? * 6L 2002-2005Fire at 10:15 AM on every last friday of every month during the years 2002, 2003, 2004, and 2005
0 15 10 ? * 6#3Fire at 10:15 AM on the third Friday of every month
0 0 12 1/5 * ?Fire at 12 PM (noon) every 5 days every month, starting on the first day of the month
0 11 11 11 11 ?Fire every November 11 at 11:11 AM




Example)

Cron 표현식(Expression)

Graphically, the cron syntax for Quarz is (source):

+-------------------- second (0 - 59)
|  +----------------- minute (0 - 59)
|  |  +-------------- hour (0 - 23)
|  |  |  +----------- day of month (1 - 31)
|  |  |  |  +-------- month (1 - 12)
|  |  |  |  |  +----- day of week (0 - 6) (Sunday=0 or 7)
|  |  |  |  |  |  +-- year [optional]
|  |  |  |  |  |  |
*  *  *  *  *  *  * command to be executed 

So if you want to run a command every 30 minutes you can say either of these:

0 0/30 * * * * ?
0 0,30 * * * * ?


참조 

https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm


Comments