배포 전 스케줄 검산
*/15 * * * * 같은 표현식이 의도한 간격으로 동작하는지 먼저 확인해 야간 배치나 정산 작업의 오실행을 줄입니다.
브라우저 내부 처리
복잡한 Cron 스케줄을 알기 쉽게 설명해드리고, 다음 실행 일정을 계산해드립니다.
서버 배치, 워커 스케줄, 알림 작업의 실행 주기를 배포 전에 읽을 수 있는 문장과 다음 실행 시각으로 확인합니다.
*/15 * * * * 같은 표현식이 의도한 간격으로 동작하는지 먼저 확인해 야간 배치나 정산 작업의 오실행을 줄입니다.
크론 문법에 익숙하지 않은 사람도 이해할 수 있도록 표현식을 자연어 설명과 다음 실행 목록으로 함께 봅니다.
입력한 표현식은 현재 브라우저에서 해석하며, 스케줄 문자열을 별도 서버에 저장하거나 전송하지 않습니다.
표준 cron에서 0과 7은 모두 일요일입니다. 다만 구현체마다 7을 거부하는 경우가 있어 0을 쓰는 편이 안전합니다.
유닉스 cron은 분·시·일·월·요일 5개 필드입니다. Spring이나 Quartz는 맨 앞에 초 필드가 붙어 6개입니다. 5개짜리를 Quartz에 넣으면 의미가 한 칸씩 밀립니다.
일(日)과 요일을 동시에 지정하면 대부분의 구현이 둘 중 하나만 맞아도 실행합니다. AND가 아니라 OR입니다. 서버 타임존과 서머타임도 함께 확인하세요.
day-of-month와 day-of-week를 동시에 쓰면 라이브러리나 시스템별 해석 차이가 생길 수 있으므로 중요한 배치는 실제 런타임 문서와 함께 확인하세요.
일부 스케줄러는 초 단위 필드를 지원하지만 전통적인 crontab은 5필드를 사용합니다. 실행 환경이 요구하는 형식을 기준으로 맞춰야 합니다.
세 번째 칸과 다섯 번째 칸을 둘 다 지정하면 대부분의 구현이 AND가 아니라 OR로 평가합니다. 자세한 설명과 대응은 크론탭 실전 가이드에 정리해 두었습니다.
*/15는 15분마다가 아니라 "15로 나눈 나머지가 0"인 시각입니다. 그래서 7 */3 * * *는 3시간마다가 아니라 0·3·6·9시대의 7분에 돕니다. 지금부터 세는 간격이 아닙니다.
cron은 최소한의 환경으로 실행하므로 터미널에서 되던 명령이 command not found가 납니다. 절대 경로를 쓰거나 스크립트 첫 줄에서 필요한 환경을 직접 불러오세요. 파이썬 가상환경과 노드 버전 관리자가 특히 자주 걸립니다.
입력
0 9 * * 1-5
결과
매주 월요일부터 금요일까지 09:00에 실행
요일은 0이 일요일입니다. 1-5는 월요일부터 금요일까지를 뜻합니다.
입력
*/15 * * * *
결과
매시 00, 15, 30, 45분에 실행
입력
0 0 1 * *
결과
매월 1일 00:00에 실행