이번 포스팅에서는 Cron 스케줄의 기본 개념에 대해 간단하게 다뤄보고자 한다.
우선 Cron 스케줄을 정의하면 다음과 같다.
"Task가 실행되어야 하는 시간(주기)을 정하기 위한 다섯 개의 필드로 구성된 문자열"
"{분} {시} {일} {월} {요일}"의 형태로 사용!!
기본적으로 위와 같은 형태로 사용하며, 각 필드에는 숫자 뿐만 아니라 특수문자도 들어갈 수 있다.
Cron 스케줄에서 사용 가능한 특수문자는 아래와 같다.
특수문자 | 의미 |
* | 모든 값 |
- | 범위 지정 |
, | 여러 값 지정 |
/ | 증가 값 지정 |
L | 마지막 값 ({일}, {요일}에만 설정 가능) * {일}에 L 입력 시, 해당 월의 마지막 일을 의미함 * {요일}에 L 입력 시, 토요일을 의미함 |
# | 몇 번째 요일인지 지정 |
그럼 이제 다양한 예시를 통해 Cron 스케줄을 어떻게 해석하는지 감을 잡아보도록 하자!
Cron 스케줄 | 의미 | 비고 |
15 2 * * * | 매일 02시 15분 | |
0 * * * * | 매시 정각 (0시) | |
0 0 1 * * | 매월 1일 0시 0분 | |
10 1 * * 1 | 매주 월요일 01시 10분 | * 0: 일요일, 1: 월요일, 2: 화요일, 3: 수요일, 4: 목요일, 5: 금요일, 6: 토요일 |
0 9-18 * * * | 매일 09시부터 18시까지 정각마다 | |
0 1 1,2,3 * * | 매월 1, 2, 3일에만 01시에 | |
* /30 * * * | 30분마다 (0분, 30분) | |
10-59/30 * * * * | 10분부터 30분마다 (10분, 40분) | |
10 1 * * 1-5 | 평일에만 01시 10분 |
Cron 스케줄 | 의미 | 비고 |
0 */2 * * * | 2시간마다 (0시, 02시, 04시, ...) | ex) 1-23/2 → 01시부터 2시간마다 (01시, 03시, 05시, ...) |
0 0 */2 * * | 짝수 일 0시 0분 | |
10 1 L * * | 매월 마지막 일 01시 10분 | |
10 1 * * 6#3 | 매월 3번째 토요일 01시 10분 |
여기까지 해서 Cron 스케줄의 기본 개념과 어떻게 사용하고 해석하는지에 대해 알아보았다.
<Reference>
- 김현진님의 인프런 Airflow 마스터 클래스 강의
'Data Engineering > Hadoop Ecosystem' 카테고리의 다른 글
[Airflow Master Class] 템플릿 변수 (0) | 2023.09.04 |
---|---|
[Airflow Master Class] Docker 및 Airflow 설치 (0) | 2023.08.20 |
[Airflow Master Class] WSL 설치 & 리눅스(Linux) 기본 명령어 (0) | 2023.08.20 |
[FastCampus-DE] 4. Hadoop & HDFS (0) | 2022.07.27 |
[FastCampus-DE] 3. 빅데이터 플랫폼과 Hadoop Ecosystem (0) | 2022.07.26 |