Cron 표현식 간격
CRON 표현식은 트리거의 특정 인스턴스를 구성하는 데 사용되며, 대부분 예약된 반복적 트리거링에 사용됩니다. 일정의 개별 값을 나타내는 6~7개의 필드로 구성된 문자열입니다. 이러한 필드는 공백으로 구분되며, 여러 조합의 허용된 값을 포함합니다.
간단한 CRON 표현식: * * * * ? * 복잡한 CRON 표현식: 0/5 14,18,3-39,52 * ? JAN,MAR,SEP MON-FRI 2012-2020
CRON 표현식에 사용할 수 있는 값 목록:
이름 |
필수 |
값 |
허용된 특수 문자 |
---|---|---|---|
초 |
예 |
0-59 |
, - * / R |
분 |
예 |
0-59 |
, - * / R |
시간 |
예 |
0-23 |
, - * / R |
일 |
예 |
1-31 |
, - * / ? L W |
월 |
예 |
1-12 또는 JAN-DEC |
, - */ |
요일 |
예 |
0-6 또는 SUN-SAT |
, - / ? L # |
년 |
예 |
1970-2099 |
, - * / |
CRON 표현식 구문:
┌────────── 초(0~59) │ ┌──────────── 분(0~59) │ │ ┌──────────── 시간(0~23) │ │ │ ┌────────── 날짜(1 - 31) │ │ │ │ ┌────────── 월(1~12 또는 JAN-DEC) │ │ │ │ │ ┌────────── 요일(0~6 또는 SUNSAT)(예: 0은 SUN과(와) 같음) │ │ │ │ │ │ ┌────────── 연도 │ │ │ │ │ │ │ * * * * * ? * |
•0 0 0은 자정(초, 분, 시간)을 의미합니다.
•다른 필드에 정의되어 있어서 값을 사용할 수 없을 때는 ?을(를) 사용합니다(날짜 또는 요일).
•*은(는) 모든 값(초, 분, 시간, 날짜, 월, 요일, 연도)을 의미합니다.
•SUN은 일요일을 의미합니다.
월 이름과 요일은 대소문자를 구분하지 않습니다. 예를 들어 MON은 mon과 같고 JAN은 jan과 같습니다. |
특수 문자:
쉼표 (,)
쉼표는 목록 항목을 구분합니다. 예를 들어, 6번째 필드(요일)에 "MON,WED,FRI"를 사용하는 것은 월요일, 수요일, 금요일을 의미합니다.
하이픈 (-)
범위를 정의합니다. 예를 들어, 2012-2020은 2012년과 2020을 포함한 그 사이의 모든 연도를 나타냅니다.
와일드카드 (*)
필드 내의 모든 가능한 값을 선택합니다. 예를 들어, 분 필드에 *을(를) 입력하면 모든 분을 의미합니다. 와일드카드는 요일 필드에는 사용할 수 없습니다.
물음표 (?)
특정 일을 선택할 때는 날짜나 요일 중에서 하나를 선택할 수 있습니다. 두 개 모두 지정할 수는 없습니다. 날짜를 지정하면 요일에 ?을(를) 사용해야 합니다. 그 반대도 마찬가지입니다. 예를 들어 특정 날짜(예: 10일)를 트리거하고 싶지만 요일은 관계없다면 날짜 필드에 10을 입력하고 요일 필드에는 ?를 입력합니다.
해시 (#)
"몇 번째" 날인지 지정하는 데 사용됩니다. 예를 들어 요일에서 4#3 값을 입력하면 그 달의 세 번째 목요일을 의미합니다(4일 = 목요일 #3 = 그 달의 세 번째 목요일). #5를 지정했는데 그 달의 다섯 번째 요일이 없을 경우, 그 달에는 트리거되지 않습니다.
슬래시 (/)
범위 증가 단위를 나타냅니다. 예를 들어, 두 번째 필드(분)에서 3-59/15를 입력하면 그 시간의 3번째 분과 그 이후의 매 15분을 의미합니다.
마지막(L)
요일 필드에 사용하면 해당 월의 마지막 화요일(5L)과 같이 구조를 지정할 수 있습니다. 날짜 필드에서는 그 달의 마지막 날을 지정합니다. 예를 들어, 1월 31일, 2월 28일(윤년이 아닐 경우)이 해당됩니다.
주일 (W)
W 문자는 날짜 필드에 사용합니다. 이 문자는 특정 날짜에서 가장 가까운 요일(월~금)을 지정합니다. 예를 들어, 날짜 필드에 15W를 값으로 입력하면 15일에서 가장 가까운 주일을 의미합니다. 그러므로 15일이 토요일이라면 14일 금요일에 트리거됩니다. 15일이 일요일이라면 16일 월요일에 트리거됩니다. 그러나 날짜에 1W을 값으로 입력하고 1일이 토요일이라면, 월의 경계는 뛰어넘을 수 없기 때문에 3일 월요일에 트리거됩니다.
L과 W 문자를 날짜 필드에 복합적으로 사용할 수 있습니다(LW). 즉, 그 달의 마지막 주일을 나타냅니다. |
랜덤 (R)
R은 특수한ESET PROTECT CRON 표현식 문자로 무작위 시간을 지정할 수 있습니다. 예를 들어 R 0 0 * * ? *는 매일 00:00시에 트리거되지만 초는 무작위입니다(0-59).
모든 ESET Management 에이전트가 ESET PROTECT 에 동시에 연결하지 못하도록 무작위 시간을 사용하는 것이 좋습니다. 서버. |
CRON 표현식을 응용한 실제 사례:
CRON 표현식 |
의미 |
---|---|
0 0 12 * * ? * |
매일 오후 12시(정오)에 실행됩니다. |
R 0 0 * * ? * |
매일 00:00시에 실행되지만 초는 무작위입니다(0-59). |
R R R 15W * ? * |
매월 15일에 무작위 시간에 실행됩니다(초, 분, 시간). 15일이 토요일이라면 14일 금요일에 트리거됩니다. 15일이 일요일이라면 16일 월요일에 트리거됩니다. |
0 15 10 * * ? 2016 |
2016년 동안 매일 오전 10:15에 실행됩니다. |
0 * 14 * * ? * |
매일 오후 2~2:59 사이에 1분마다 실행됩니다. |
0 0/5 14 * * ? * |
매일 오후 2~2:55 사이에 5분마다 실행됩니다. |
0 0/5 14,18 * * ? * |
매일 오후 2~2:55 사이에 5분마다 실행되고 오후 6~6:55 사이에 5분마다 실행됩니다. |
0 0-5 14 * * ? * |
매일 오후 2~2:59 사이에 1분마다 실행됩니다. |
0 10,44 14 ? 3 WED * |
3월에 매주 수요일마다 오후 2:10~2:44에 실행됩니다. |
0 15 10 ? * MON-FRI * |
매주 월요일, 화요일, 수요일, 목요일, 금요일 오전 10:15에 실행됩니다. |
0 15 10 15 * ? * |
매월 15일 오전 10:15에 실행됩니다. |
0 15 10 ? * 5L * |
매월 마지막 금요일 오전 10:15에 실행됩니다. |
0 15 10 ? * 5L 2016-2020 |
2016~ 2020년 동안 매월 마지막 금요일 오전 10:15에 실행됩니다. |
0 15 10 ? * 5#3 * |
매월 셋째 주 금요일 오전 10:15에 실행됩니다. |
0 0 * * * ? * |
매일 1시간마다 실행됩니다. |