본문 바로가기

크론 표현식 생성기

브라우저 처리

분·시·일·월·요일 다섯 칸으로 크론 표현식을 만들고 한국어 설명과 다음 실행 시각 5개를 보여 줍니다. crontab 한 줄이나 @daily를 붙여 넣어 해석할 수 있고, 범위 밖 값과 Quartz 전용 문법은 칸별로 알려 줍니다.

도구 실행입력 후 결과 확인
크론 표현식 생성기 샘플 실행

서버 백업, 정기 보고서, 배치 작업을 crontab이나 GitHub Actions schedule에 등록하려면 '*/15 9-18 * * 1-5' 같은 표현식을 써야 합니다. 이 도구는 프리셋을 고르거나 다섯 칸을 직접 채우면 표현식과 '매주 월~금요일 9~18시 동안 15분마다 실행됩니다' 같은 설명, 다음 실행 시각을 바로 보여 줍…

브라우저 처리
샘플 결과
매주 월~금요일 9~18시 동안 15분마다 실행됩니다.
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

크론 표현식 생성기 사용 가이드

서버 백업, 정기 보고서, 배치 작업을 crontab이나 GitHub Actions schedule에 등록하려면 '*/15 9-18 * * 1-5' 같은 표현식을 써야 합니다. 이 도구는 프리셋을 고르거나 다섯 칸을 직접 채우면 표현식과 '매주 월~금요일 9~18시 동안 15분마다 실행됩니다' 같은 설명, 다음 실행 시각을 바로 보여 줍니다.

이미 있는 표현식을 해석할 때는 '전체 표현식' 칸에 붙여 넣으면 됩니다. crontab 한 줄 전체를 넣으면 앞의 다섯 칸만 표현식으로 쓰고 나머지는 명령으로 보고 빼며, @daily·@weekly 같은 매크로도 풀어 줍니다. JAN, MON 같은 영문 약어와 요일 7(일요일)도 읽습니다.

표준 cron은 일과 요일을 둘 다 지정하면 둘 중 하나만 맞아도 실행되는데(OR), 이 규칙과 '*/7'처럼 매시 0분에 다시 세어 간격이 고르지 않은 경우를 안내 문구로 알려 줍니다. 다음 실행 시각은 앞으로 8년 안에서 찾으므로 2월 29일 같은 일정도 확인할 수 있습니다.

사용 방법

  1. 위쪽 프리셋(매분, 5분마다, 평일 09:00 등)을 누르거나 분·시·일·월·요일 칸을 직접 채웁니다.
  2. 기존 표현식이나 crontab 한 줄이 있다면 '전체 표현식' 칸에 붙여 넣어 다섯 칸을 한 번에 채웁니다.
  3. 가운데 표현식과 한국어 설명, 아래 안내 문구를 읽고 의도한 일정인지 확인합니다.
  4. '다음 실행 예정' 목록의 날짜·요일과 남은 시간을 확인한 뒤 '복사'로 표현식을 가져갑니다.

예시: 평일 업무 시간 15분 간격

입력
*/15 9-18 * * 1-5
결과
매주 월~금요일 9~18시 동안 15분마다 실행됩니다.

18시 칸이 포함되므로 마지막 실행은 18:45입니다. 18시 정각에 끝내려면 시 칸을 9-17로 쓰고 18:00을 따로 추가하세요.

이럴 때 쓰면 좋아요

  • 리눅스 crontab에 백업·로그 정리 작업을 등록할 때
  • GitHub Actions의 schedule 표현식을 검토할 때
  • 남이 만든 crontab 줄이 언제 도는지 해석할 때
  • 매월 1일, 분기 첫날 같은 정기 작업 일정을 확인할 때

문제가 생겼을 때

'분 70은(는) 허용 범위(0~59)를 벗어났습니다' 같은 오류

칸마다 허용 범위가 다릅니다. 분 0~59, 시 0~23, 일 1~31, 월 1~12, 요일 0~7(0과 7은 일요일)입니다. 빨간 테두리가 생긴 칸을 고치세요.

'L·W·#·? 는 Quartz·Spring 같은 확장 문법' 오류

'L'(마지막 날), '1#2'(둘째 주 월요일), '?'는 Quartz·Spring 전용이라 리눅스 crontab에서는 동작하지 않습니다. 마지막 날 실행은 28-31일에 돌리고 명령 안에서 내일이 1일인지 확인하는 방식으로 처리하세요.

서버에서 9시간 늦거나 이르게 실행됨

다음 실행 시각은 이 브라우저 시간대 기준이고, 서버의 cron은 서버 시간대로 돕니다. 서버가 UTC라면 한국 09:00은 UTC 00:00이므로 시 칸을 0으로 써야 합니다.

활용 팁

  • '22-2'처럼 거꾸로 된 범위는 오류입니다. 자정을 넘는 범위는 22-23,0-2처럼 두 범위로 나눠 쓰세요.
  • 초 칸이 있는 6~7칸 표현식(Quartz·Spring)을 붙여 넣으면 맨 앞 초 칸을 빼라고 안내합니다.
  • '5/15'처럼 시작값/간격만 쓴 표기는 구현마다 해석이 달라, 5-59/15처럼 범위를 적는 편이 안전합니다.

자주 묻는 질문

'매월 첫째 주 월요일'은 어떻게 쓰나요?

표준 cron만으로는 표현할 수 없습니다. '0 9 1-7 * *'로 매월 1~7일에 실행하고, 명령 앞에 [ "$(date +\%u)" = 1 ] && 처럼 월요일인지 확인하는 조건을 붙이세요.

@reboot도 해석하나요?

@reboot는 시각이 아니라 cron이 시작될 때 한 번 실행하라는 뜻이라 다음 실행 시각을 계산하지 않고 그 의미만 알려 줍니다.

GitHub Actions에서도 같은 표현식을 쓰나요?

네, 다섯 칸 표준 형식을 씁니다. 다만 GitHub Actions의 schedule은 항상 UTC 기준이고 실행이 몇 분 늦어질 수 있습니다.