다음 실행 시간 (5회)

Guide

Cron 표현식 파서 실무 활용

서버 배치, 워커 스케줄, 알림 작업의 실행 주기를 배포 전에 읽을 수 있는 문장과 다음 실행 시각으로 확인합니다.

배포 전 스케줄 검산

*/15 * * * * 같은 표현식이 의도한 간격으로 동작하는지 먼저 확인해 야간 배치나 정산 작업의 오실행을 줄입니다.

운영자와 공유하기 쉬운 설명

크론 문법에 익숙하지 않은 사람도 이해할 수 있도록 표현식을 자연어 설명과 다음 실행 목록으로 함께 봅니다.

브라우저 안 계산

입력한 표현식은 현재 브라우저에서 해석하며, 스케줄 문자열을 별도 서버에 저장하거나 전송하지 않습니다.

Workflow

사용 순서

  1. 5필드 cron 표현식을 입력하고 해석 결과가 의도한 주기와 맞는지 확인합니다.
  2. 다음 실행 시간 5개를 보면서 시작 시각, 반복 간격, 월말 또는 주말 실행 여부를 검산합니다.
  3. 서버의 실제 타임존과 브라우저 타임존이 다르면 운영 환경 기준으로 한 번 더 비교합니다.
  4. 배포 설정이나 문서에 붙여 넣기 전에 공백과 필드 개수가 맞는지 확인합니다.

Examples

실제 입력과 결과

평일 아침 배치

입력

0 9 * * 1-5

결과

매주 월요일부터 금요일까지 09:00에 실행

요일은 0이 일요일입니다. 1-5는 월요일부터 금요일까지를 뜻합니다.

15분 간격 헬스체크

입력

*/15 * * * *

결과

매시 00, 15, 30, 45분에 실행

매월 1일 자정

입력

0 0 1 * *

결과

매월 1일 00:00에 실행

Troubleshooting

자주 만나는 오류

일요일이 0인지 7인지 헷갈릴 때

표준 cron에서 0과 7은 모두 일요일입니다. 다만 구현체마다 7을 거부하는 경우가 있어 0을 쓰는 편이 안전합니다.

필드가 5개인지 6개인지

유닉스 cron은 분·시·일·월·요일 5개 필드입니다. Spring이나 Quartz는 맨 앞에 초 필드가 붙어 6개입니다. 5개짜리를 Quartz에 넣으면 의미가 한 칸씩 밀립니다.

다음 실행 시간이 예상과 다를 때

일(日)과 요일을 동시에 지정하면 대부분의 구현이 둘 중 하나만 맞아도 실행합니다. AND가 아니라 OR입니다. 서버 타임존과 서머타임도 함께 확인하세요.

Review

확인할 점

요일과 일자 필드

day-of-month와 day-of-week를 동시에 쓰면 라이브러리나 시스템별 해석 차이가 생길 수 있으므로 중요한 배치는 실제 런타임 문서와 함께 확인하세요.

초 필드 지원 여부

일부 스케줄러는 초 단위 필드를 지원하지만 전통적인 crontab은 5필드를 사용합니다. 실행 환경이 요구하는 형식을 기준으로 맞춰야 합니다.

Related

함께 쓰면 좋은 도구