Cron 가이드
가이드

Cron 표현식에서 자주 하는 실수

요일·일 충돌, 간격 오해, 겹치는 작업

1. 요일 번호 혼동 — cron에서 요일은 0부터 6까지이며 0이 일요일입니다. 많은 구현이 7도 일요일로 받아들이지만, 1을 일요일로 착각해 하루씩 밀리는 실수가 흔합니다. 월요일은 1, 금요일은 5입니다.

2. 일(day-of-month)과 요일(day-of-week)을 함께 지정 — 두 필드를 모두 *가 아닌 값으로 지정하면 대부분의 cron은 둘 중 하나라도 맞으면 실행합니다(AND가 아니라 OR). 예: 0 0 13 * 5는 '13일 또는 매주 금요일'에 실행됩니다. '13일의 금요일에만'이 아닙니다.

3. */n 간격 오해*/15는 0부터 15 간격, 즉 0·15·30·45분에 실행됩니다. */40처럼 60을 나누어떨어지지 않는 값을 쓰면 0분과 40분에만 실행되고 그 다음은 다음 시간의 0분으로 건너뛰어 간격이 불규칙해집니다.

4. 시간대 착각 — cron은 보통 서버 시간대(대개 UTC)로 동작합니다. 로컬 시간 기준으로 표현식을 쓰면 실제로는 다른 시각에 실행됩니다. 시간대는 아래 별도 가이드에서 자세히 다룹니다.

5. 겹치는 작업 — 실행 시간이 다음 예약 시각을 넘기면 이전 작업이 끝나기 전에 새 작업이 또 시작될 수 있습니다. 오래 걸리는 작업은 잠금(lock)이나 중복 실행 방지를 함께 두는 것이 안전합니다. 작성한 표현식은 위쪽 도구의 다음 실행 시각으로 미리 검증하세요.

자료

스케줄 모음

복사해서 바로 쓰는 레시피

문법 치트시트

5개 필드와 특수문자 한눈에

매크로·별칭

@daily 같은 축약 표현

가이드

cron을 제대로 이해하고 실수를 줄이는 실전 가이드