Cron 표현식 파서
형식: 분 시 일 월 요일
crontab을 물려받았는데 0 */2 * * 1-5, 15 4 1 * *, */30 8-18 * * *로 가득합니다. 이 파서는 표준 5필드 cron 표현식을 받아 쉬운 영어 설명(“every 2 hours on weekdays”)과 실제로 실행될 다음 5회 시각을 반환합니다. 레거시 스케줄을 이해하고 새 스케줄을 배포 전에 검증하는 데 유용합니다.
cron 표현식 파싱 방법
-
1
표현식 붙여넣기
표준 5필드 표현식(`* * * * *`): 분, 시, 일(월 중), 월, 요일.
-
2
영어 설명 읽기
파서가 각 필드를 쉬운 영어로 다시 써 줍니다. 예: "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
다음 실행 미리보기로 검증
다가오는 5회 실행 시각. 의도와 맞지 않으면 표현식을 다듬으세요.
-
4
잘못된 필드 수정
필드 수가 잘못되었거나 값이 범위를 벗어난 표현식은 문제의 필드를 알려 주는 오류와 함께 거부됩니다.
각 필드 해석
각 필드에는 고유한 유효 범위와 특수 문자가 있습니다:
| 필드 | 범위 | 지원되는 와일드카드 |
|---|---|---|
| 분 | 0-59 | * , - / |
| 시 | 0-23 | * , - / |
| 일(월 중) | 1-31 | * , - / |
| 월 | 1-12 | * , - / |
| 요일 | 0-7 | * , - / |
*= 모든 값(분 필드의*는 매분을 의미).1,5,10= 값 목록.1-5= 값 범위.*/15또는0-45/15= 스텝. 필드 범위의 시작점부터 계산합니다.- 요일
0과7은 모두 일요일이므로 두 관례 모두 허용됩니다. JAN, MON 같은 월·요일 이름은 허용되지 않으니 숫자를 사용하세요.
해석된 예시
| 표현식 | 영어 설명 |
|---|---|
0 */2 * * 1-5 |
At minute 0 every 2 hours, Monday through Friday |
15 4 1 * * |
At 04:15 on the 1st day of every month |
*/30 8-18 * * * |
Every 30 minutes between 08:00 and 18:59 |
0 0 1,15 * * |
At midnight on the 1st and 15th of every month |
0 22 * * 0 |
At 22:00 every Sunday |
파서가 받아들이는 것
- 정확히 5개 필드: 분, 시, 일(월 중), 월, 요일. 초(6필드) 또는 연도(7필드)가 포함된 Quartz 표현식은 거부됩니다.
- 유효 범위: 각 값은 자기 필드 범위 안에 있어야 합니다(예: 분 0-59, 시 0-23, 일 1-31, 월 1-12, 요일 0-7).
- 양수 스텝:
/뒤의 값은 양수여야 합니다(*/0은 거부). - 이름 붙은 단축어 없음:
@daily,@reboot같은 단축어는 받지 않습니다. 먼저 5필드 형태로 풀어 주세요(예:@daily=0 0 * * *).
일(월 중)과 요일을 함께 쓸 때
일(월 중)과 요일을 모두 지정하면, 이 파서는 둘 다 일치할 때만 실행을 예약합니다. 따라서 0 0 1 * MON은 1일이 월요일인 날에만 실행됩니다. 대부분의 Linux cron 구현은 이 두 필드를 OR로 취급(둘 중 하나만 맞아도 실행)하므로, 실제 사용하는 스케줄러에 맞춰 표현식을 다시 확인하세요.
시간대 참고
미리보기의 시각은 서버 시계(UTC) 기준으로 계산됩니다. crontab이 다른 시간대의 머신에서 실행 중이라면, 여기에 표시된 시각이 그 머신의 시각과 다를 수 있습니다.
자주 묻는 질문
아니요. 표준 5필드 표현식만 받아들입니다. 초(6필드) 또는 연도(7필드)가 포함된 Quartz 표현식은 오류와 함께 거부됩니다.
보통 다음 중 하나입니다: 미리보기가 서버 시계(UTC)를 쓰는데 crontab이 다른 시간대에서 실행되는 경우, 일(월 중)과 요일을 모두 지정한 경우(이 파서는 둘 다 일치해야 함), 또는 스텝 값이 매 시간·매일의 시작에서 다시 시작되는 경우입니다.
네, Kubernetes가 사용하는 표준 5필드 표현식이라면 가능합니다(기본적으로 UTC). 다만 이곳의 미리보기는 서버 시계(UTC)를 사용하므로, 클러스터가 다른 시간대에서 실행되면 시각이 다를 수 있습니다.
Linux cron은 이름 붙은 단축어를 받아들입니다: @reboot(시작 시), @yearly / @annually(0 0 1 1 *), @monthly, @weekly, @daily, @hourly. 이 파서는 이를 받지 않으므로, 단축어를 동등한 5필드 표현식으로 풀어서 붙여넣으세요.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
랜덤 영어 글자 생성기
A-Z 영어 글자를 무작위로 생성합니다. 개수와 대문자, 소문자, 혼합 대소문자를 선택해 게임, 과제, 수업 활동에 활용하세요.
랜덤 색상 팔레트 생성기
2~15개의 색상으로 랜덤 팔레트를 만들고, 비비드, 파스텔, muted, dark 스타일을 선택한 뒤 HEX 코드나 CSS 변수를 복사하세요.