Quartz Cron과 리눅스 Cron 표현식 차이 (초 단위, 필드 개수)

배치 개발 후 스케줄을 거는데… 크론 표현식을 그냥 무지성으로 GPT 한테 물어본대로 적고 커밋 했었다… 근데 Moon매니저님이 크론 표현식은 두번째가 시 이라고 하는게 아닌가? 지피티한테 속은줄 알고 수정했으나… Quartz Cron은 여섯자리로 결론은… 내가 맞았다… Quartz Cron에 대해 확실히 알았으면 이런일이 없었을터인데…. 그동안 AI한테 많이 데여서 사람을 믿어야지 했다가 … 그만…. ㅋㅋ Quartz Cron에 대해 확실히 알고 가자…

1. 필드 개수 차이

✔ 일반 Cron (Linux)

일반 Cron은 5개의 필드를 사용함:

분 시 일 월 요일
1

예시:

21 * * * *
1

→ 매 시 21분에 실행됨

✔ Quartz Cron

Quartz Cron은 6~7개의 필드를 사용함:

초 분 시 일 월 요일 [년도]
1

예시:

0 21 * * * ?
1

→ 매 시 21분 0초에 실행됨

2. 초 단위 지원 여부

✔ 일반 Cron

초 단위 스케줄링을 지원하지 않음

✔ Quartz Cron

초 단위까지 지원함
예시:

5 * * * * ?
1

→ 매 분 5초에 실행됨

3. 특수 문자 기능

✔ Quartz Cron만 제공하는 특수 문자

  • ? : 특정하지 않음을 의미함
  • L : 마지막 일 또는 마지막 요일을 의미함
  • # : 몇 번째 요일을 의미함 (예: 2#1 = 매월 첫 번째 월요일)
  • W : 가장 가까운 평일을 의미함

예시:

0 0 8 ? * MON-FRI
1

→ 매주 월~금 08시에 실행됨

4. 요일 표현 방식 차이

✔ 일반 Cron

숫자 또는 약어로 요일을 표현함

0 = 일요일
1 = 월요일
...
1
2
3

✔ Quartz Cron

MON, TUE 같은 문자열 표현을 지원함
또는 1=SUN 같은 방식도 사용 가능함
또한 ? 사용 가능함

5. 사용 목적의 차이

구분 Quartz Cron 일반 Cron
실행 위치 자바 애플리케이션 내부 스케줄러 서버 OS의 Cron
필드 개수 6~7개 5개
초 단위 지원 O X
특수 문자 매우 다양함 제한적임
복잡한 스케줄 쉽게 가능함 어려움
TimeZone 설정 쉽게 설정 가능함 별도 설정 필요함
Last Updated: 2025/11/20 13:05:00