728x90
Cron 표현식이란?
크론(Cron)은 리눅스 및 유닉스 기반 시스템에서 작업 스케줄링을 위해 사용되는 유틸리티입니다.
크론 표현식(Cron Expression)은 이러한 작업을 자동화하고, 주기적으로 실행하기 위해 사용되는 형식으로, 날짜와 시간을 기반으로 작업을 예약할 수 있습니다. 이를 활용하면 특정 시간에 명령어, 스크립트 등을 자동으로 실행하도록 설정할 수 있습니다.
Cron 표현식의 기본 구조
Cron 표현식은 일반적으로 5개(리눅스/유닉스 크론표현식) 또는6~7개 (Quatz 크론표현식) 의 필드로 구성됩니다.
각 필드는 특정 시간 단위(분, 시, 일, 월, 요일 등)를 나타내며, 그 값에 따라 작업이 언제 실행될지를 정의합니다. 다음은 5필드 기반의 크론 표현식 구조입니다.
분 시 일 월 요일
각각의 필드는 다음 범위의 값을 가질 수 있습니다:
- 분 (Minute): 0 - 59
- 시 (Hour): 0 - 23
- 일 (Day of the Month): 1 - 31
- 월 (Month): 1 - 12 (또는 Jan - Dec)
- 요일 (Day of the Week): 0 - 6 (0: 일요일, 6: 토요일 또는 Sun - Sat)
또한 Quatz 스케줄러기준 ( Quatz 크론표현식)
초 분 시 일 월 요일 년(생략가능)
- 초(Second): 0-59 리눅스/ 유닉스에서는 사용되지 않음
- 분 (Minute): 0 - 59
- 시 (Hour): 0 - 23
- 일 (Day of the Month): 1 - 31
- 월 (Month): 1 - 12 (또는 Jan - Dec)
- 요일 (Day of the Week): 0 - 6 (0: 일요일, 6: 토요일 또는 Sun - Sat)
- 년도(Year) : 생략가능 or 1970-2099 리눅스 유닉스에서 사용되지 않음
예시 Cron 표현식 (리눅스/유닉스기준)
1. 매일 오전 12시에 실행
0 0 * * *
- 설명: 매일 자정(00:00)에 작업을 실행.
2. 매주 월요일 오전 8시에 실행
0 8 * * 1
- 설명: 매주 월요일 오전 8시에 작업을 실행.
3. 매월 1일 자정에 실행
0 0 1 * *
- 설명: 매월 1일 자정(00:00)에 작업을 실행.
4. 주중(월-금) 매일 오후 5시에 실행
0 17 * * 1-5
- 설명: 매주 월요일부터 금요일까지 매일 오후 5시에 작업을 실행.
5. 매 15분마다 실행
0/15 * * * *
- 설명: 매 15분마다 작업을 실행.
Cron 표현식의 특수 문자
- *: 모든 값을 의미합니다. 예를 들어,
*
는 해당 필드의 모든 가능성을 의미합니다. - ,: 여러 값을 나열할 때 사용합니다. 예를 들어,
0,15,30,45
는 0, 15, 30, 45분에 실행됩니다. - -: 범위를 나타냅니다. 예를 들어,
1-5
는 월요일부터 금요일까지를 의미합니다. - /: 간격을 나타냅니다. 예를 들어,
0/10
은 매 10단위로 실행됩니다. - ?: 특정 값이 없을 때 사용되며, 주로 월과 요일 필드에서 사용됩니다.
- L: 마지막 날을 의미합니다. 예를 들어,
L
은 해당 월의 마지막 날이나 주의 마지막 요일을 나타냅니다.
Cron 표현식 생성기 도구
복잡한 크론 표현식을 작성하는 것이 어렵다면, 다양한 온라인 크론 표현식 생성기 도구를 활용할 수 있습니다. 이러한 도구들은 사용자가 쉽게 원하는 스케줄을 설정할 수 있도록 직관적인 인터페이스를 제공합니다.
Cron 표현식 예시 모음
표현식 | 설명 |
---|---|
0 0 * * * |
매일 자정에 실행 |
0 9 * * 1 |
매주 월요일 오전 9시에 실행 |
0/30 * * * * |
매 30분마다 실행 |
0 8 1 * * |
매월 1일 오전 8시에 실행 |
0 12 * * 0 |
매주 일요일 정오에 실행 |
쿼츠 Cron 표현식 예시
0 5 * * * * 매시 5분
0 0/10 * * * * 10분에 한번씩
728x90
'2.1 CS > 기타' 카테고리의 다른 글
[IT] 보일러플레이트 코드 (Boilerplate Code) (2) | 2024.10.17 |
---|---|
웹 크롤링 vs 웹 스크래핑 (0) | 2024.10.05 |
[CS/기타] BackEnd, FrontEnd (0) | 2024.08.28 |
[CS/기타] 웹(WWW) (0) | 2024.08.28 |
댓글