크론 표현식 생성기
크론 표현식은 분, 시, 일, 월, 요일 다섯 필드로 이뤄집니다. "0 9 * * 1-5"는 "월요일~금요일 09:00", "*/15 * * * *"는 "15분마다"라는 뜻입니다.
사용 방법
- 위 칸에 크론 표현식을 입력하거나, 자주 쓰는 설정을 고르거나, 다섯 필드를 하나씩 채웁니다. 위 칸과 필드는 서로 맞춰 바뀝니다.
- 요일 버튼을 누르면 숫자를 치지 않고도 요일을 고를 수 있습니다.
- 해석에 나온 뜻을 읽고 다음 실행 5회를 확인합니다. 서버에 맞춰 현지 시간과 UTC를 바꿔 볼 수 있습니다.
- 표현식 복사를 누르면 crontab, CI 일정, 작업 스케줄러에 붙여 넣을 표현식이 복사됩니다.
계산 방법
표준 크론 표현식은 공백으로 나뉜 다섯 필드입니다. 분(0-59), 시(0-23), 일(1-31), 월(1-12 또는 JAN-DEC), 요일(0-6 또는 SUN-SAT, 0과 7은 모두 일요일)입니다.
각 필드에는 모든 값을 뜻하는 *, 1,15 같은 목록, 9-17 같은 범위, */5(5개마다)나 10-30/5 같은 간격을 쓸 수 있습니다. 월과 요일은 영문 이름도 되고, @hourly, @daily, @weekly, @monthly, @yearly 매크로는 다섯 필드 형태로 풀어 씁니다.
"0 0 13 * 5"처럼 일과 요일을 둘 다 지정하면 크론은 둘 중 하나라도 맞는 날 실행합니다. 이 예는 매월 13일과 매주 금요일에 돕니다. 둘 중 하나가 *로 시작하면 둘 다 맞아야 합니다.
다음 실행 시각은 하루씩 앞으로 넘기며 월·일 조건에 맞는 날을 고르고, 그날 맞는 시와 분을 나열해 구합니다. 2월 31일처럼 절대 맞을 수 없는 일정은 아무것도 나오지 않습니다. 서머타임 전환으로 없는 현지 시각은 건너뜁니다.
자주 쓰는 일정
| 표현식 | 뜻 |
|---|---|
| * * * * * | 매분 |
| */5 * * * * | 5분마다 |
| 0 * * * * | 매시 정각 |
| 0 0 * * * | 매일 자정 |
| 0 9 * * 1-5 | 평일 09:00 |
| 30 8 * * 1 | 매주 월요일 08:30 |
| 0 0 1 * * | 매월 1일 |
| 0 0 1 1 * | 매년 1월 1일 |
자주 묻는 질문
크론에서 */5는 무슨 뜻인가요?
간격입니다. 분 필드라면 5분마다, 즉 0, 5, 10분부터 55분까지입니다. 필드의 첫 값부터 세기 때문에 시 필드의 */5는 0시, 5시, 10시, 15시, 20시입니다.
평일 오전 9시에 돌리려면?
0 9 * * 1-5를 쓰세요. 0분, 9시, 일은 아무 날, 월도 아무 달, 요일은 월요일부터 금요일입니다.
생각보다 더 많은 날 실행돼요
일과 요일을 모두 지정하면 크론은 둘 중 하나만 맞아도 실행합니다. 첫째 주 월요일에만 돌리려면 표준 크론으로는 표현할 수 없으니 작업 안의 스크립트에서 날짜를 확인하세요.
크론은 어느 시간대를 쓰나요?
실행하는 서버나 서비스의 시간대를 씁니다. 클라우드 스케줄러는 UTC인 경우가 많습니다. 현지 시간과 UTC 버튼으로 둘 다 확인하세요.
6필드, 7필드나 L, # 기호도 되나요?
안 됩니다. 이 도구는 crontab, GitHub Actions, 대부분의 리눅스 스케줄러가 쓰는 표준 다섯 필드 형식을 다룹니다. 초와 연도, ? L W # 같은 기호를 더한 Quartz와 AWS 형식은 지원하지 않습니다.
입력한 내용이 서버로 가나요?
아니요. 해석, 설명, 실행 시각 모두 브라우저에서 계산합니다.