필드가 6개이면 맨 앞을 초로 봅니다. 형식을 고정하려면 "5필드" 또는 "6필드"를 고르세요.
@daily, @hourly 같은 매크로도 입력할 수 있습니다(@reboot 제외).
필드와 특수 문자
문자
뜻
예
*
모든 값
* * * * * 매분
,
여러 값
0,30 0분과 30분
-
범위
1-5 월~금(요일 필드)
/
간격
*/15 0·15·30·45, 5/20 5·25·45
?
일·요일에서 * 와 같음(Quartz 호환)
0 12 ? * MON
영어 약어
월 JAN~DEC, 요일 SUN~SAT
0 9 * * MON-FRI
자주 쓰는 표현식
표현식
설명
*/5 * * * *
5분마다
0 * * * *
1시간마다
0 9 * * 1-5
09:00, 월요일부터 금요일까지
30 18 * * 5
18:30, 금요일에만
0 0 1 * *
00:00, 매월 1일
0 3 * * 0
03:00, 일요일에만
0 */6 * * *
정각, 6시간마다
*/30 * * * * *
30초마다
계산 기준
리눅스 crontab(Vixie cron·cronie)의 규칙을 따릅니다. 일과 요일이 모두 지정되면 둘 중 하나만 맞아도 실행하고, 둘 중 하나가 *로 시작하면 둘 다 맞아야 실행합니다.
다음 실행 시각은 한국 표준시(UTC+9, 서머타임 없음) 기준이며, 지금 시각과 같은 순간은 빼고 그다음부터 셉니다.
2월 30일처럼 존재하지 않는 날짜만 지정하면 400년을 찾아도 실행 시각이 없어 "실행되지 않는 표현식"으로 알려 줍니다.
설명 문장은 공개 라이브러리 cronstrue의 한국어 번역을 사용합니다.
자주 묻는 질문
크론 표현식 다섯 자리는 각각 무엇인가요?
왼쪽부터 분(0-59), 시(0-23), 일(1-31), 월(1-12), 요일(0-7, 0과 7은 일요일)입니다. "0 9 * * 1-5"는 "월~금요일 9시 0분"이라는 뜻입니다. 6자리라면 맨 앞에 초(0-59)가 하나 더 붙습니다.
일(日)과 요일을 함께 지정하면 어떻게 되나요?
리눅스 crontab은 두 필드가 모두 지정되면 "둘 중 하나만 맞아도" 실행합니다. 예를 들어 "0 0 13 * 5"는 13일의 금요일이 아니라 매월 13일과 모든 금요일에 실행됩니다. 반대로 한쪽이 *로 시작하면(예: */2) 두 조건을 모두 만족해야 합니다. 이 도구는 이 규칙대로 다음 실행 시각을 계산하고 결과에 안내를 붙입니다.
서버 시간대가 UTC라면 한국 시간 오전 9시는 어떻게 쓰나요?
크론은 서버(또는 컨테이너)의 시간대로 동작합니다. 서버가 UTC라면 한국 시간 9시는 UTC 0시이므로 "0 0 * * *"로 써야 합니다. 이 도구의 다음 실행 시각은 한국 시간(UTC+9) 기준이니, UTC 서버라면 결과에서 9시간을 빼서 보세요. 쿠버네티스 CronJob은 timeZone 항목으로 시간대를 지정할 수 있습니다.
6자리(초 포함) 크론은 어디서 쓰나요?
스프링 @Scheduled, Quartz, node-cron 같은 라이브러리가 맨 앞에 초 필드를 둔 6자리 형식을 씁니다. 리눅스 crontab, GitHub Actions, AWS EventBridge의 cron()과는 형식이 다르니 주의하세요. Quartz의 L·W·# 문법과 7자리(연도) 형식은 이 도구가 지원하지 않습니다.
매월 마지막 날에 실행하려면 어떻게 쓰나요?
표준 crontab에는 "마지막 날"을 뜻하는 문법이 없습니다. 흔히 "0 23 28-31 * *"로 28~31일에 실행하고, 명령 앞에 [ "$(date -d tomorrow +\%d)" = "01" ] && 처럼 내일이 1일인지 검사하는 조건을 붙입니다. crontab 안에서는 % 를 \% 로 써야 합니다.