InfoGrab DocsInfoGrab Docs

Cron

요약

cron 구문은 job이 실행될 시점을 예약하는 데 사용됩니다. 파이프라인 스케줄을 생성하거나, 배포 중단을 설정하여 의도치 않은 릴리스를 방지하려면 cron 구문 문자열을 사용해야 할 수 있습니다. Cron 스케줄링은 공백으로 구분된 다섯 개의 숫자를 사용합니다:

cron 구문은 job이 실행될 시점을 예약하는 데 사용됩니다.

파이프라인 스케줄을 생성하거나, 배포 중단을 설정하여 의도치 않은 릴리스를 방지하려면 cron 구문 문자열을 사용해야 할 수 있습니다.

Cron 구문#

Cron 스케줄링은 공백으로 구분된 다섯 개의 숫자를 사용합니다:

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

(출처: Wikipedia)

cron 구문에서 별표(*)는 '매'를 의미하므로, 다음 cron 문자열은 유효합니다:

  • 매 시간 정각에 한 번 실행: 0 * * * *

  • 매일 자정에 한 번 실행: 0 0 * * *

  • 매주 일요일 자정에 한 번 실행: 0 0 * * 0

  • 매월 1일 자정에 한 번 실행: 0 0 1 * *

  • 매월 22일에 한 번 실행: 0 0 22 * *

  • 매년 1월 1일 자정에 한 번 실행: 0 0 1 1 *

  • 매월 1일과 15일 오전 3시에 두 번 실행: 0 3 1,15 * *

전체 cron 문서는 crontab(5) Linux 매뉴얼 페이지를 참조하세요. 이 문서는 Linux 또는 MacOS 터미널에서 man 5 crontab을 입력하면 오프라인으로도 확인할 수 있습니다.

또한, GitLab은 fugit을 사용하며, #% 구문을 지원합니다. 이 구문은 일부 cron 테스터에서는 작동하지 않을 수 있습니다:

  • 매월 두 번째 월요일에 한 번 실행: 0 0 * * 1#2. 이 구문은 fugit hash 확장에서 유래합니다.

  • 격주 일요일 오전 9시에 실행: 0 9 * * sun%2. 이 구문은 fugit modulo 확장에서 유래합니다.

Cron 예시#

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

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

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

cron 스케줄 작성 방법의 추가 예시는 crontab.guru에서 확인할 수 있습니다.

GitLab이 cron 구문 문자열을 파싱하는 방법#

GitLab은 서버에서 cron 구문 문자열을 파싱하는 데 fugit을 사용하고, 브라우저에서 cron 구문을 유효성 검사하는 데 cron-validator를 사용합니다. GitLab은 브라우저에서 cron을 사람이 읽을 수 있는 문자열로 변환하는 데 cRonstrue를 사용합니다.

Cron

GitLab v19.1
원문 보기
요약

cron 구문은 job이 실행될 시점을 예약하는 데 사용됩니다. 파이프라인 스케줄을 생성하거나, 배포 중단을 설정하여 의도치 않은 릴리스를 방지하려면 cron 구문 문자열을 사용해야 할 수 있습니다. Cron 스케줄링은 공백으로 구분된 다섯 개의 숫자를 사용합니다:

cron 구문은 job이 실행될 시점을 예약하는 데 사용됩니다.

파이프라인 스케줄을 생성하거나, 배포 중단을 설정하여 의도치 않은 릴리스를 방지하려면 cron 구문 문자열을 사용해야 할 수 있습니다.

Cron 구문#

Cron 스케줄링은 공백으로 구분된 다섯 개의 숫자를 사용합니다:

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

(출처: Wikipedia)

cron 구문에서 별표(*)는 '매'를 의미하므로, 다음 cron 문자열은 유효합니다:

  • 매 시간 정각에 한 번 실행: 0 * * * *

  • 매일 자정에 한 번 실행: 0 0 * * *

  • 매주 일요일 자정에 한 번 실행: 0 0 * * 0

  • 매월 1일 자정에 한 번 실행: 0 0 1 * *

  • 매월 22일에 한 번 실행: 0 0 22 * *

  • 매년 1월 1일 자정에 한 번 실행: 0 0 1 1 *

  • 매월 1일과 15일 오전 3시에 두 번 실행: 0 3 1,15 * *

전체 cron 문서는 crontab(5) Linux 매뉴얼 페이지를 참조하세요. 이 문서는 Linux 또는 MacOS 터미널에서 man 5 crontab을 입력하면 오프라인으로도 확인할 수 있습니다.

또한, GitLab은 fugit을 사용하며, #% 구문을 지원합니다. 이 구문은 일부 cron 테스터에서는 작동하지 않을 수 있습니다:

  • 매월 두 번째 월요일에 한 번 실행: 0 0 * * 1#2. 이 구문은 fugit hash 확장에서 유래합니다.

  • 격주 일요일 오전 9시에 실행: 0 9 * * sun%2. 이 구문은 fugit modulo 확장에서 유래합니다.

Cron 예시#

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

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

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

cron 스케줄 작성 방법의 추가 예시는 crontab.guru에서 확인할 수 있습니다.

GitLab이 cron 구문 문자열을 파싱하는 방법#

GitLab은 서버에서 cron 구문 문자열을 파싱하는 데 fugit을 사용하고, 브라우저에서 cron 구문을 유효성 검사하는 데 cron-validator를 사용합니다. GitLab은 브라우저에서 cron을 사람이 읽을 수 있는 문자열로 변환하는 데 cRonstrue를 사용합니다.