크론

크론 구문은 작업이 언제 실행되어야 하는지를 예약하는 데 사용됩니다.

파이프라인 일정을 만들거나 배포 동결를 설정하여 의도하지 않은 릴리스를 방지하기 위해 크론 구문 문자열을 사용해야 할 수 있습니다.

크론 구문

크론 스케줄링은 다섯 개의 숫자 시리즈를 사용하며, 각각을 공백으로 구분합니다.

# ┌───────────── 분 (0 - 59)
# │ ┌───────────── 시 (0 - 23)
# │ │ ┌───────────── 일 (1 - 31)
# │ │ │ ┌───────────── 월 (1 - 12)
# │ │ │ │ ┌───────────── 요일 (0 - 6) (일요일부터 토요일)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <실행할 명령어>

(출처: 위키피디아)

크론 구문에서 별표(*)는 ‘모든’을 의미하므로, 다음 크론 문자열은 유효합니다:

  • 매 시간 정각에 실행: 0 * * * *
  • 매일 자정에 실행: 0 0 * * *
  • 매주 일요일 자정에 실행: 0 0 * * 0
  • 매월 첫 날 자정에 실행: 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 * *

자세한 크론 문서는 crontab(5) — Linux 매뉴얼 페이지를 참조하세요. 이 문서는 리눅스나 macOS 터미널에서 man 5 crontab을 입력하여 오프라인으로도 접근할 수 있습니다.

크론 예제

# 매일 오후 7:00에 실행:
0 19 * * *

# 6월 3일 매 분마다 실행:
* * 3 6 *

# 매주 금요일 오전 6:30에 실행:
30 6 * * 5

크론 일정을 작성하는 더 많은 예제는 crontab.guru에서 찾을 수 있습니다.

GitLab이 크론 구문 문자열을 구문 분석하는 방법

GitLab은 서버에서 크론 구문 문자열을 구문 분석하고, 브라우저에서 크론 구문을 유효성 검사하기 위해 fugit를 사용합니다. 브라우저에서 크론을 인간이 읽을 수 있는 문자열로 변환하기 위해 GitLab은 cRonstrue를 사용합니다.