Cron 표현식 파서 및 다음 실행 시간 계산기

cron 표현식(분 시 일 월 요일)을 분석하여 일정을 쉬운 말로 보여줍니다. 스텝·범위·목록 문법을 지원하며 다음 5회 실행 시간도 자동으로 계산하는 무료 도구입니다. crontab이나 GitHub Actions의 스케줄 설정을 확인할 때 유용합니다.

Cron 표현식 문법(5개 필드)

cron 표현식은 왼쪽부터 분, 시, 일(날짜), 월, 요일의 5개 필드를 공백으로 구분하여 지정합니다. 각 필드는 아래의 특수 문자를 사용할 수 있습니다.

위치 필드 지정 가능한 범위
1 0-59
2 0-23
3 일(날짜) 1-31
4 1-12
5 요일 0-7

요일은 보통 0=일요일 ~ 6=토요일이지만, 일부 cron 구현에서 사용하는 7=일요일 표기도 이 도구는 허용합니다(내부적으로 0으로 처리됩니다).

각 필드에서는 "*"(모든 값), 쉼표로 구분한 목록(1,15,30), 하이픈으로 지정하는 범위(1-5), 슬래시로 지정하는 간격(*/15, 1-30/5)을 사용할 수 있으며 자유롭게 조합할 수 있습니다.

자주 쓰이는 cron 패턴

cron 표현식 의미
* * * * * 매분 실행됩니다.
*/5 * * * * 5분마다 실행됩니다.
0 * * * * 매시 0분에(1시간에 한 번) 실행됩니다.
0 0 * * * 매일 0시 0분(자정)에 실행됩니다.
0 9 * * 1-5 평일(월~금) 9시에 실행됩니다.
0 0 1 * * 매월 1일 0시 0분에 실행됩니다.
0 0 1 1 * 매년 1월 1일 0시 0분에 실행됩니다.
*/15 9-17 * * 1-5 평일 9시부터 17시까지 15분마다 실행됩니다.

  • "*/15 9-17 * * 1-5"처럼 쉼표 목록, 하이픈 범위, 슬래시 간격 지정을 자유롭게 조합할 수 있습니다.
  • 요일 필드는 보통 0~6(일요일~토요일)이지만, 일부 cron 구현에서 사용하는 7(일요일의 별칭)도 이 도구는 허용합니다.
  • 일(날짜)과 요일 필드를 모두 "*" 이외로 제한하면, cron 표준 사양상 둘 중 하나만 맞아도 실행되는 "OR" 조건이 됩니다.
  • GitHub Actions의 schedule 트리거도 이 도구와 동일한 5필드 cron 문법을 사용하므로, 워크플로가 실행되는 정확한 시각을 확인하는 데도 활용할 수 있습니다.
  • 서버의 시간대 설정에 따라 실제 실행 시각이 달라질 수 있으므로, crontab을 수정한 뒤에는 서버의 현재 시각도 함께 확인해 두면 안심할 수 있습니다.

자주 묻는 질문

네. 표준 cron 사양에서는 일요일을 0으로 표기하지만, 일부 구현(Vixie cron 등)에서는 7도 일요일의 또 다른 표기로 취급합니다. 이 도구는 두 표기 모두 일요일로 해석합니다.

우선순위가 아니라 "OR" 조건으로 처리됩니다. 일 필드와 요일 필드가 모두 "*" 이외로 제한된 경우, 둘 중 하나의 조건만 충족해도 실행됩니다. 한쪽이 "*"로 남아 있다면 제한된 쪽의 조건만 적용됩니다.

기본적인 5필드 형식(분 시 일 월 요일)은 동일합니다. 다만 GitHub Actions의 스케줄은 항상 협정 세계시(UTC) 기준으로 평가되며, 실제 실행이 수 분에서 수십 분 정도 지연될 수 있다는 점이 서버의 crontab과 다릅니다.

네, 분·시·일·월·요일 어느 필드에서도 스텝 지정(시작값/간격 또는 */간격)을 사용할 수 있습니다. 다만 요일이나 월처럼 값의 범위가 작은 필드에서는 실용적으로 조합할 수 있는 경우가 제한적입니다.
ツールくん

여담 ― cron의 반세기

cron이라는 이름은 그리스어로 "시간"을 뜻하는 크로노스(Chronos)에서 유래했다고 알려져 있으며, 1970년대 UNIX 초창기부터 존재해 온 대표적인 작업 스케줄러입니다. 단 5개의 필드만으로 "매분"부터 "매년 특정 일시"까지 표현할 수 있는 간결한 문법은 반세기 가까이 지난 지금도 널리 쓰이고 있습니다.

최근에는 리눅스 서버의 crontab뿐 아니라 GitHub Actions, GitLab CI, 쿠버네티스의 CronJob 등 수많은 CI/CD 도구와 컨테이너 플랫폼이 이 5필드 형식의 cron 문법을 그대로 스케줄 설정에 채택하고 있습니다. UNIX 시대에 설계된 문법이 클라우드 네이티브 환경에서도 그대로 쓰이고 있다는 점은 흥미로운 사실입니다.

cron 문법에서 헷갈리기 쉬운 부분 중 하나는 일(날짜)과 요일을 동시에 지정했을 때의 동작입니다. 직관적으로는 "AND"(둘 다 만족해야 함)를 기대하기 쉽지만, 실제 사양은 "OR"(둘 중 하나만 만족하면 됨)이어서 의도와 다른 빈도로 실행되는 문제의 원인이 되기 쉽습니다.

→ 모든 여담 보기