요일·일 충돌, 간격 오해, 겹치는 작업
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)이나 중복 실행 방지를 함께 두는 것이 안전합니다. 작성한 표현식은 위쪽 도구의 다음 실행 시각으로 미리 검증하세요.