Cron 작업 생성기
필드별 컨트롤로 cron 표현식을 시각적으로 빌드. 분·시·일·월·요일에 대해 매번/N마다/범위/지정 값 선택 가능. 영어 설명과 다음 10번 실행 시간 표시. 무료 온라인 cron 생성기.
- 브라우저에서 처리
- 데이터가 브라우저 밖으로 나가지 않습니다
- 무료 · 회원가입 불필요
WeChat으로 스캔하여 공유
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.
쿠버네티스 크론잡은 어느 시간대로 해석할까
표현식에는 시간대가 없고, 표현식을 읽는 스케줄러가 시간대를 정합니다. 쿠버네티스 문서의 크론잡 페이지에 따르면 시간대가 지정되지 않은 크론잡은 kube-controller-manager의 로컬 타임 존을 기준으로 스케줄을 해석하고, .spec.timeZone에 유효한 타임 존 이름을 넣으면 그 시간대로 해석합니다. 또 .spec.schedule 안에 CRON_TZ나 TZ를 쓰는 것은 지원되지 않으며, 그런 스케줄은 유효성 검사 오류로 생성이나 수정에 실패한다고 적혀 있습니다. 이 도구도 CRON_TZ를 읽지 않으므로 같은 줄을 붙여 넣으면 필드 개수 오류가 납니다.
5개의 필드가 필요합니다: 분 시 일 월 요일
한국 시간 새벽 3시 백업을 UTC로 쓰면
컨트롤러가 UTC로 동작하고 .spec.timeZone을 쓰지 않는다면, 한국 시간 새벽 3시는 9시간을 뺀 전날 18시가 됩니다. 이 도구의 “UTC” 모드에서 0 18 * * *를 넣고 2026-10-08 00:00 UTC(한국 시간 09:00)부터 센 영어 설명과 처음 세 번은 다음과 같습니다. 설명문은 모든 언어 버전에서 영어로 나오므로 원문 그대로 옮겼습니다.
At 18:00
2026-10-08 18:00 UTC
2026-10-09 18:00 UTC
2026-10-10 18:00 UTC
브라우저 시간대가 Asia/Seoul이라면 “현지”로 바꾸고 한국 시간 그대로 0 3 * * *를 써서 확인할 수 있습니다. 같은 기준 시각에서 나오는 시각은 위의 UTC 세 번과 같은 순간입니다. .spec.timeZone: "Asia/Seoul"을 쓰는 크론잡이라면 이 식을 그대로 쓰면 됩니다.
At 3:00
2026-10-09 03:00
2026-10-10 03:00
2026-10-11 03:00
“현지” 모드에서 페이지는 브라우저 언어 설정에 맞는 날짜 형식 뒤에 (Asia/Seoul) 같은 시간대 이름을 붙여 표시합니다. 여기서는 “연-월-일 시:분”으로 맞췄습니다.
필드 값을 고쳐 쓰지 않고 오류로 알려 줍니다
“금요일부터 월요일까지”를 범위로 쓰려고 5-1을 넣으면, 이 도구는 앞의 값이 뒤의 값보다 큰 범위를 오류로 표시합니다. “필드 편집”의 범위 칸에 시작 5, 끝 1을 넣어도 같은 결과이고, 도구가 두 값을 바꿔 넣지 않습니다.
요일: "5-1"은(는) 올바르지 않습니다. 0~7 숫자와 *, -, /, 쉼표를 쓰세요.
요일 버튼으로 금, 토, 일, 월을 고르면 0,1,5,6이 되고, 한국 시간 기준으로 다음과 같이 실행됩니다.
At 9:00, on Sunday, Monday, Friday, Saturday
2026-10-09 09:00
2026-10-10 09:00
2026-10-11 09:00
2026-10-12 09:00
단계(스텝) 칸에 0을 넣거나 소수를 넣어도 같은 방식으로 오류를 표시합니다. ‘지정’ 모드에서 분 입력란을 비워도 오류로 표시하며(“분: 입력란이 비어 있습니다. …”) *로 보지 않습니다. *로 보면 “매일 9:00”이 9시대 매분 실행으로 바뀌기 때문입니다. 오류가 있는 동안에는 설명과 실행 시간이 비고 “복사” 버튼을 누를 수 없으며, 유효한 값으로 고치면 돌아옵니다. 분 단계에 75처럼 필드 범위보다 큰 값을 넣는 것은 유효한 cron이므로(cronie는 경고를 출력하지만 받아들입니다) 그대로 두며, 매시 0분에 한 번만 실행됩니다.
Cron 표현식 필드 참조
| 필드 | 위치 | 허용 값 | 특수 문자 |
|---|---|---|---|
| 분 | 1번째 | 0–59 | * / - , |
| 시 | 2번째 | 0–23 | * / - , |
| 일 | 3번째 | 1–31 | * / - , |
| 월 | 4번째 | 1–12 | * / - , |
| 요일 | 5번째 | 0–7 (일 = 0 또는 7) | * / - , |
일과 요일을 모두 지정하면 둘 중 하나만 맞아도 실행됩니다. 어느 한쪽이 *로 시작하면(*/2 포함) cronie와 같이 둘 다 맞아야 합니다.
자주 사용되는 Cron 일정 예시
세 번째 열은 도구가 각 표현식에 보여 주는 영어 설명입니다(영어만 지원). 입력이 의도대로 해석되는지 확인할 때 쓸 수 있습니다.
| 표현식 | 의미 | 도구의 영어 설명 |
|---|---|---|
* * * * * | 매분 | At every minute past every hour |
0 * * * * | 매시 정각 | At every hour |
0 0 * * * | 매일 자정 | At midnight |
0 9 * * 1-5 | 평일 오전 9시 | At 9:00, on Monday through Friday |
*/5 * * * * | 5분마다 | At every 5 minutes past every hour |
0 0 1 * * | 매월 1일 | At midnight, on day 1 of the month |
0 0 * * 0 | 매주 일요일 자정 | At midnight, on Sunday |
0 0 1 1 * | 매년 1월 1일 | At midnight, on day 1 of the month, in January |
제한 사항
- 5필드만 다룹니다. 초 필드와 Quartz·Spring 확장(
?,L,W,#)은 지원하지 않으며, 입력하면 필드와 값을 짚어 오류를 표시합니다. - 숫자는 10진 정수만 됩니다.
1.5,5abc,1#2는 오류입니다. 스텝 앞에는*나 범위가 있어야 하므로5/10은 오류이며, cronie도 받지 않습니다. - 요일은 0–7과 영문 약어
sun–sat이고 0과 7은 모두 일요일입니다.5-7처럼 7로 끝나는 범위를 입력하면 범위 칸이 6까지라서 요일 버튼으로 표시합니다. 입력란에는 쓴 그대로 남습니다. - 2월 30일(
0 0 30 2 *)처럼 존재하지 않는 날짜는 오류 없이 실행 시간 목록이 비어 있습니다. - 설명문은 모든 언어 버전에서 영어입니다.
FAQ
cron 표현식이란 무엇인가요?
cron 표현식은 공백으로 구분된 5개의 필드로 구성된 문자열로 반복 일정을 정의합니다: 분(0–59), 시(0–23), 일(1–31), 월(1–12), 요일(0–7, 0과 7 모두 일요일). 별표(*)는 '모든 값'을 의미하고, */N은 'N마다', 9-17 같은 범위는 '9부터 17까지', 1,15 같은 목록은 '1과 15'를 의미합니다.
Cron 작업 생성기와 Cron 표현식 파서는 무엇이 다른가요?
Cron 작업 생성기는 각 필드의 모드와 값을 골라 cron 표현식을 만드는 도구입니다. Cron 표현식 파서는 그 반대로, 이미 있는 표현식을 입력하면 일정의 의미를 설명하고 다음 실행 시간을 보여 줍니다.
'N마다' 모드는 무엇을 의미하나요?
'N마다' 모드는 */5와 같은 스텝 표현식을 생성합니다. 분 필드의 */5는 '5분마다'(0, 5, 10, 15 … 55)를 의미합니다. 시 필드의 */2는 '2시간마다', 월 필드의 */3은 '3개월마다'처럼 모든 필드에 사용할 수 있습니다.
필드마다 다른 모드를 조합할 수 있나요?
네. 각 필드는 독립적이므로 모드를 자유롭게 조합할 수 있습니다. 예를 들어 매월 1일과 15일 오전 9시에 실행하려면, 분을 '지정' 0, 시를 '지정' 9, 일을 '지정' 1과 15로 하고 월과 요일은 '매'로 둡니다. 결과는 0 9 1,15 * * 입니다.
6필드(초 포함) cron 표현식을 지원하지 않는 이유는 무엇인가요?
5필드는 cron(crontab(5)), GitHub Actions, 쿠버네티스 크론잡이 쓰는 형식입니다. Quartz Scheduler 같은 일부 도구는 맨 앞에 초 필드를 더하지만 제품마다 쓰는 법이 달라 공통 표준이 없습니다. 이 생성기는 5필드 형식만 만듭니다.
표현식이 서버로 전송되거나 저장되나요?
서버로 보내지 않습니다. 마지막으로 유효했던 표현식과 UTC/현지 선택은 이 브라우저의 localStorage에 저장되어 다음에 열 때 복원됩니다. Ctrl/⌘+L은 입력란만 비우고 저장된 값은 지우지 않으므로, 지우려면 브라우저에서 이 사이트의 데이터를 삭제하세요. 페이지의 방문 통계는 일정을 바꾸거나 복사할 때 사용 이벤트(도구 이름과 동작)만 기록하며 표현식은 포함하지 않습니다.