onlinetools.dev

Cron 표현식 파서

Cron 스케줄을 쉬운 말로 설명하고 다음 실행 시각 표시

로컬 실행
loading…
이 도구에 대해

다섯 필드 cron 표현식을 붙여넣으면 알기 쉬운 말로 풀어 설명하고, 필드별 분해와 함께, 진짜 실수를 잡아 주는 부분인 로컬 시간대 기준의 다음 다섯 번 실제 실행 시각을 계산해 줍니다. "0 3 * * 1"은 "03:00, 월요일에"로 읽히고, 그 뒤에 실제로 실행될 구체적인 날짜들이 이어집니다.

파서는 완전한 표준 문법을 지원합니다. 목록(1,15), 범위(9-17), 스텝(*/15), 월과 요일 이름(jan, mon), 일요일을 뜻하는 7, 그리고 @daily/@hourly 매크로 계열까지. 모두가 잊어버리는 규칙도 구현되어 있습니다. 일(day-of-month)과 요일(day-of-week)이 둘 다 제한되면, 잡은 둘 다가 아니라 어느 한쪽이라도 일치할 때 실행됩니다.

6필드(Quartz, 초 포함) 표현식은 조용히 오해석되는 대신 감지되어 명확히 안내됩니다. Java 스케줄러와 Unix crontab 사이를 오갈 때 생기는 "내 cron이 이상해요" 혼란의 가장 흔한 원인이죠.

자주 묻는 질문

다섯 필드는 순서대로 무엇인가요?
분(0–59), 시(0–23), 일(1–31), 월(1–12), 요일(0–6, 일요일 = 0, 7도 일요일로 허용). 순서를 기억하는 것은 영원한 숙제입니다. 분해 패널이 여러분 표현식의 각 필드에 라벨을 붙여 줍니다.
왜 "0 0 1 * 1"이 예상보다 자주 실행되나요?
일(1일)과 요일(월요일)이 둘 다 제한되면 cron은 어느 한쪽이라도 일치할 때 잡을 실행하기 때문입니다. 매월 1일마다, 그리고 매주 월요일마다요. "1일이면서 월요일일 때만"을 표현하려면 스크립트 쪽에서 날짜를 확인해야 합니다.
다음 실행 시각은 어느 시간대를 쓰나요?
브라우저의 로컬 시간대이며, 결과 옆에 표시됩니다. 실제 crontab은 서버의 시간대(또는 일부 cron의 TZ= 줄)로 실행됩니다. 특히 서머타임 전환 시기에는 대상 머신이 어떤 시간대를 쓰는지 반드시 확인하세요.
초나 연도를 지원하나요?
아니요. 그것은 6 또는 7필드를 쓰는 Quartz(Java) 확장입니다. 표준 Unix cron은 정확히 다섯 필드에 1분 해상도입니다. 6필드 입력은 오독되는 대신 감지되어 Quartz로 보고됩니다.
관련 도구