크론
크론 구문은 작업이 실행되어야 하는 시간을 예약하는 데 사용됩니다.
파이프라인 스케줄을 만들거나 배포 동결을 설정하여 의도치 않은 릴리스를 방지하기 위해 크론 구문 문자열을 사용해야 할 수 있습니다.
크론 구문
크론 일정은 공백으로 구분된 다섯 개의 숫자 시리즈를 사용합니다.
# ┌───────────── 분 (0 - 59)
# │ ┌───────────── 시간 (0 - 23)
# │ │ ┌───────────── 월의 일 (1 - 31)
# │ │ │ ┌───────────── 월 (1 - 12)
# │ │ │ │ ┌───────────── 주의 요일 (0 - 6) (일요일부터 토요일까지)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <실행할 명령어>
(출처: Wikipedia)
크론 구문에서 별표(*
)는 ‘모든’을 의미하므로 다음 크론 문자열은 유효합니다:
- 매 시간 처음에 한 번 실행:
0 * * * *
- 매일 자정에 한 번 실행:
0 0 * * *
- 일요일 새벽 자정에 한 번 실행:
0 0 * * 0
- 매월 1일 자정에 한 번 실행:
0 0 1 * *
- 매월 22일에 한 번 실행:
0 0 22 * *
- 매월 둘째 주 월요일에 한 번 실행:
0 0 * * 1#2
- 1월 1일 자정에 한 번 실행:
0 0 1 1 *
- 매월 다음주 일요일 아침 9시에 실행:
0 9 * * sun%2
- 매월 1일과 15일 새벽 3시에 두 번 실행:
0 3 1,15 * *
- 이 구문은 fugit modulo extension에서 가져온 것입니다
자세한 크론 문서는 crontab(5) — Linux 매뉴얼 페이지를 참조하십시오.
이 문서는 Linux 또는 MacOS 터미널에서 man 5 crontab
을 입력하여 오프라인으로 확인할 수 있습니다.
크론 예시
# 매일 오후 7시에 실행:
0 19 * * *
# 6월 3일에 매분마다 실행:
* * 3 6 *
# 매주 금요일 06:30에 실행:
30 6 * * 5
크론 일정을 작성하는 더 많은 예시는 crontab.guru에서 찾을 수 있습니다.
GitLab이 크론 구문 문자열을 구문 분석하는 방법
GitLab은 서버에서 크론 구문 문자열을 구문 분석하기 위해 fugit
을 사용하고,
브라우저에서 크론 구문을 확인하기 위해 cron-validator를 사용합니다.
또한 GitLab은 브라우저에서 크론을 사람이 읽을 수 있는 문자열로 변환하기 위해 cRonstrue
를 사용합니다.