크론 표현식 설명
crontab 표현식을 입력하면 실행 주기를 한국어 문장으로 풀어 드려요.
예: 0 9 * * 1-5 → 월~금 9시 0분에 실행
형식을 확인해주세요
일(날짜)과 요일을 함께 지정하면 crontab은 둘 중 하나만 맞아도 실행합니다(AND 아님).
예시 · 0 9 * * 1-5 → 월~금 9시 0분에 실행
설명
리눅스 crontab의 5개 필드(분·시·일·월·요일) 표현식을 한국어 설명으로 풀어줍니다. *(매번), 범위(1-5), 간격(*/10), 목록(1,3,5)을 지원합니다.
함께 자주 쓰는 도구
크론(cron) 표현식은 리눅스 서버나 클라우드 서비스에서 작업을 자동 실행할 시간을 지정하는 문법인데, 다섯 개의 숫자와 기호가 나열된 형태라 익숙하지 않으면 읽기 어렵습니다. 이 도구에 표현식을 붙여 넣으면 '월요일 9시 30분에 실행' 같은 한국어 문장으로 즉시 풀어 줍니다. 표현식을 직접 작성할 때도 설명을 확인하면서 실수를 줄일 수 있습니다.
크론 표현식 구조 이해하기
표준 crontab 표현식은 왼쪽부터 분(0-59), 시(0-23), 일(1-31), 월(1-12), 요일(0-7, 0과 7 모두 일요일)의 5개 필드로 구성됩니다. 예를 들어 '30 9 * * 1'은 '매주 월요일 오전 9시 30분'을 뜻합니다. 별표(*)는 '모든 값', 슬래시(/)는 간격, 하이픈(-)은 범위, 쉼표(,)는 열거를 의미합니다. AWS EventBridge나 Spring Scheduler 같은 일부 시스템은 초(seconds) 필드가 앞에 추가된 6~7자리 형식을 쓰기도 하므로, 사용 환경을 먼저 확인하세요.
사용 방법
입력창에 크론 표현식을 붙여 넣으면 전체 실행 주기가 한국어 문장 한 줄로 표시되고, 바로 아래에 분·시·일·월·요일 다섯 필드가 입력한 값 그대로 분해되어 나열됩니다. '0 */6 * * *'를 입력하면 '6시마다 0분에 실행'처럼 풀이됩니다. 입력할 때마다 결과가 즉시 갱신되므로, '자주 쓰는 패턴' 칩을 눌러 값을 바꿔 가며 비교하면 원하는 주기를 빠르게 찾을 수 있습니다. 이 도구는 표현식의 의미를 해석하는 기능만 제공하며, 다음 실행 예정 시각을 계산하거나 서버에 등록해 주지는 않습니다.
자주 하는 실수
가장 흔한 실수는 요일 필드에서 월요일을 0으로 쓰는 것입니다. crontab 표준에서 0과 7은 일요일이고 월요일은 1입니다. 또 '매 5분마다'를 의도하고 '5 * * * *'로 쓰면 사실은 '매시 5분에 1회'만 실행됩니다. '매 5분마다'는 '*/5 * * * *'로 써야 합니다. 일(day of month)과 요일(day of week)을 동시에 지정하면 OR 조건으로 해석되는 시스템이 많아 예상보다 자주 실행될 수 있으므로, 두 필드 중 하나만 지정하고 나머지는 *로 두는 것이 안전합니다.
자주 묻는 질문
'*/5 * * * *'와 '5 * * * *'의 차이가 무엇인가요?
요일 필드에서 월요일은 몇 번인가요?
AWS나 GitHub Actions의 크론 형식도 해석할 수 있나요?
표현식이 내 의도와 맞는지 어떻게 확인하나요?
크론탭 문법은 운영체제마다 다른가요?
개인정보처리방침
모든 처리는 브라우저 내부에서만 수행되며 입력값·파일은 서버로 전송·저장되지 않습니다. 광고: Google AdSense(쿠키 사용 가능, 설정). 문의 [email protected]
크론 표현식 설명 도구 사용법
0 9 * * 1처럼 공백으로 구분된 크론 표현식을 입력창에 붙여넣으면, 이 도구가 "월요일 9시 0분에 실행"처럼 한국어 문장으로 풀어 주고, 바로 아래에 다섯 필드를 입력한 값 그대로 분해해 보여 줍니다. crontab 파일이나 배포 스크립트에서 남이 짜 둔 스케줄을 해석할 때, 또는 내가 의도한 주기가 맞는지 저장 전에 검증할 때 씁니다. 표현식만 붙여넣으면 되고 서버로 전송되지 않으니 사내 배치 설정도 안심하고 확인할 수 있습니다.
다섯 개 필드가 뜻하는 것
표준 crontab은 왼쪽부터 분 · 시 · 일 · 월 · 요일 다섯 필드로 이뤄집니다. 이 도구는 각 자리를 아래 범위에 맞춰 읽습니다.
| 위치 | 필드 | 허용 값 |
|---|---|---|
| 1 | 분 | 0–59 |
| 2 | 시 | 0–23 |
| 3 | 일(날짜) | 1–31 |
| 4 | 월 | 1–12 |
| 5 | 요일 | 0–7 (0과 7은 일요일) |
기호는 *(전체), ,(나열: 1,15), -(범위: 9-18), /(간격: */10은 10마다)로 해석됩니다. @daily, @hourly 같은 별칭 문법은 지원하지 않으므로, 다섯 필드 형태(@daily → 0 0 * * *)로 바꿔서 입력하세요.
도구가 표현식을 읽는 원리
도구는 표현식을 공백으로 잘라 필드가 다섯 개인지 확인한 뒤, 각 필드의 기호를 우리말 표현으로 옮겨 한 문장으로 조립합니다. 예를 들어 */15는 "15분마다", 1-5는 "1~5"처럼 읽습니다. 특히 주의할 점은 일(날짜)과 요일을 동시에 지정했을 때입니다. 대부분의 Unix 크론에서는 이 둘이 AND가 아니라 OR로 동작해, 0 0 1 * 1은 "매월 1일 또는 매주 월요일 자정" 즉 둘 중 하나라도 맞으면 실행됩니다. 결과 문장은 두 조건을 나란히 이어 붙여 보여 주므로, 이 조합을 쓸 때는 OR로 실행된다는 점을 감안해 읽어야 합니다.
이럴 때 유용합니다
로그 로테이션이나 백업 스크립트가 정말 새벽에만 도는지 점검할 때, */5가 "5분마다"인지 "5분에 한 번"인지 헷갈릴 때, 팀원이 남긴 30 2 * * 0 주석 없는 스케줄을 넘겨받았을 때 바로 문장으로 확인할 수 있습니다. 값을 조금씩 바꿔 넣으며 결과 문장을 비교하면, cron 문법을 외우지 않고도 원하는 주기를 맞춰 갈 수 있습니다.
FAQ
초 단위 스케줄도 해석되나요?
표준 crontab은 분이 최소 단위라 6개 필드(초 포함)는 Quartz 등 특정 스케줄러 방식입니다. 이 도구는 다섯 필드 표준을 기준으로 설명하므로, 맨 앞에 초 필드가 있는 표현식은 필드 수가 맞지 않아 오해될 수 있으니 사용하는 스케줄러 규격을 확인하세요.
요일의 0과 7이 둘 다 일요일이면 6은 무슨 요일인가요?
0=일, 1=월, 2=화, 3=수, 4=목, 5=금, 6=토이며 7은 다시 일요일입니다. MON, SUN 같은 영문 약자도 이 도구가 함께 읽어 주지만, 실제로 돌릴 환경이 약자를 지원하는지는 따로 확인하는 게 좋습니다.
실행 시각은 어느 시간대 기준인가요?
크론 자체는 시간대 정보를 갖지 않고 서버의 시스템 시간대를 따릅니다. 도구가 "오전 9시"라고 풀어 줘도 실제 실행은 크론이 도는 서버 시간대 기준이니, 서버가 UTC라면 그만큼 차이가 납니다.
표현식이 틀렸는지도 알려주나요?
필드 개수가 다섯이 아니면 "5개 필드(분 시 일 월 요일)를 입력하세요" 안내가 표시되고, 허용 범위를 벗어난 숫자(예: 시에 25, 요일에 9)가 있으면 어느 필드가 어떤 범위(예: 시는 0~23)만 허용하는지 함께 안내합니다. MON·JAN 같은 영문 약자는 숫자로 바꿔 읽으므로 함께 검사되고, 알 수 없는 값이나 18-9처럼 시작값이 더 큰 범위도 걸러 냅니다.