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 또는 SUN-SAT)(예: 0은 SUN과(와) 같음)

│ │ │ │ │ │ ┌────────── 연도

│  │  │  │  │  │  │

*  *  *  *  *  ? *

0 0 0은 자정(초, 분, 시간)을 의미합니다.

다른 필드에 정의되어 있어서 값을 사용할 수 없을 때는 ?을(를) 사용합니다(날짜 또는 요일).

*은(는) 모든 값(초, 분, 시간, 날짜, 월, 요일, 연도)을 의미합니다.

SUN은 일요일을 의미합니다.


note

월 이름과 요일은 대소문자를 구분하지 않습니다. 예를 들어 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일 월요일에 트리거됩니다.


note

L과 W 문자를 날짜 필드에 복합적으로 사용할 수 있습니다(LW). 즉, 그 달의 마지막 주일을 나타냅니다.

랜덤 (R)

R은 특수한ESET PROTECT CRON 표현식 문자로 무작위 시간을 지정할 수 있습니다. 예를 들어 R 0 0 * * ? *는 매일 00:00시에 트리거되지만 초는 무작위입니다(0-59).


important

모든 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시간마다 실행됩니다.