it leader
article thumbnail
Published 2022. 9. 17. 13:21
Cron Expression 정리 코딩공부/Server

 

 

 

Cron 표현식이란?

 

Cron 표현식은 유닉스 계열 스케줄러를 사용 할 때 사용되는 정규식입니다.

6자리로 되어 있으며 각 자리의 단위는 아래와 같습니다.

 

* * * * * *
연도 / 주

 

특수문자

  •  * : 모든 값
  • ? : 특정 값이 없음
  • - : 범위를 정할 때 사용 ex ) 0-5 , MON-FRI
  • , : 복수의 특정 값일 때 사용 ex) 2,4 , MON, FRI
  • / : 시작시간 / 단위      ex) 0/5  0초부터 5초 단위
  • L : 마지막 일자, 또는 마지막 요일 일 단위에만 사용가능 ( 요일 단위에서 사용시 숫자를 붙이면 마지막 요일을 구할 수 있음
  • W : 숫자 + W 를 쓸경우 숫자에 가까운 평일을 선택, ex) 15W 인경우 2022-10-15 일이 토요일이라면 2022-10-14일에 실행 
  • # : 몇째주의 요일 표현 {요일}#{몇째주}  ex) 4#2 → 둘째주 수요일

 

특수문자 허용 단위

필드명 허용 범위 * ? - , / L W #
0 ~ 59        
0 ~ 59        
0 ~23        
1 ~ 31  
1 ~ 12 , JAN ~ DEC        
요일 0 ~ 6 , SUN ~ SAT  
연도 empty , 1970 ~ 2022        

 

Cron 예시

 

표현식의 예를 들어보도록 하겠습니다.

 

Cron 빈도
0 0/5 * * * ? 5분마다
0 0 12 * * ? 매일 낮 12시에
0 15 10 ? * * 매일 오전 10:15에
0 15 10 * * ? 매일 오전 10:15에
0 15 10 * * ? * 매일 오전 10:15에
0 15 10 * * ? 2014 2014년 동안 매일 오전 10:15에
0 * 14 * * ? 매일 오후 2:00에 시작해서 매 분마다 실행하고 오후 2:59에 끝남
0 0/5 14 * * ? 매일 오후 2:00에 시작해서 5분마다 실행하고 오후 2:55에 끝남
0 0/5 14,18 * * ? 매일 오후 2시에 시작해서 5분마다 실행되어 오후 2:55에 끝나고, 오후 6시에 시작해서 5분마다 실행되어 오후 6:55에 끝남
0 10,44 14 ? 3 WED 3월 동안 매주 수요일 오후 2:10과 오후 2:44에
0 15 10 ? * MON-FRI 주중 오전 10:15에
0 15 10 L * ? 매월 말일 오전 10:15에
0 15 10 ? * 6L 매월 마지막 금요일 오전 10:15에
0 15 10 ? * 6L 2014-2017 2014년부터 2017년까지 매월 마지막 금요일 오전 10:15에
0 0 0 1W * ? 매달 1일에 가까운 평일 0시 0분 0초애
0 0 0 ? * 7#1 매달 첫번째 토요일 0시 0분 0초에
0 0 0 ? * 1#2 매달 첫번째 일요일 0시 0분 0초에 

마지막으로 작성한 표현식을 테스트 해볼수 있는 사이트를 소개하고 마칠까 합니다.

 

http://www.cronmaker.com/

 

CronMaker

 

www.cronmaker.com

 

cronmaker.com

 

 표현식을 직접 입력해보고 식이 유효한지를 검증해 볼 수도 있고, 그게 아니고 나는 표현식이 서툰데 직접 옵션을 골라서 표현식을 

만들어 보고 싶은 분들도 위에 Generate Cron expression 섹션에서 Cron식을 만들어 볼 수도 있습니다.

 

 

Cron 표현식은 개발자라면 한번쯤은 쓸일이 있으니 꼭 숙지해 두시면 좋을 것 같습니다.

그럼 이상으로 Cron 표현식 포스팅을 마치겠습니다.

 

 

참고자료

 

https://www.ibm.com/docs/ko/urbancode-release/6.1.0?topic=interval-cron-expressions-defining-frequency 

 

빈도 정의를 위한 CRON 표현식

CRON 표현식을 사용하여 정의한 사용자 정의 간격으로 배치를 스케줄링하여 실행할 수 있습니다. 표 1. 이 표는 배치 빈도를 사용자 정의하는 데 사용할 수 있는 CRON 표현식의 예를 제공합니다.CRON

www.ibm.com

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

 

Cron Expressions

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 f

docs.oracle.com

 

profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!