경고하다: 저는 k8s를 처음 접했습니다.
k8s cronjob에 설정된 작업을 실행해야 합니다. 45분마다 실행해야 합니다. 이것을 넣으면 schedule
작동하지 않습니다.
0/45 * * * *
에서 실행되기 때문에 X:00
대신 . 따라서 여러 예약 규칙을 설정해야 할 수도 있습니다.X:45
X+1:00
X+1:30
0,45 0/3 * * *
30 1/3 * * *
15 2/3 * * *
하나의 요금제에 여러 요금제를 설정할 수 있는지 알고 싶습니다.하나의CronJob 정의, 아니면 각 CronJob이 각 행을 처리하도록 여러 CronJob을 설정해야 합니까?
https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/cron-job-v1/
고쳐 쓰다: 단일 yaml 파일에 여러 매니페스트를 작성하는 것이 가능하다는 내용을 방금 읽었으므로 3개의 매니페스트에서 작동할 것입니다... 하지만 이것이 단일 매니페스트에서 가능한지 알아두면 좋을 것 같습니다.
답변1
매뉴얼에 따르면 0/45는 45일마다 0을 의미하므로 */45를 시도해 보십시오.
답변2
crontab 사양이 불완전하거나 모호해 보이는 경우 실제 목적을 알아내면 문서를 명확히 할 수 있습니다. 모든 테스트는 Linux Mint 19.3(crontab이 POSIX 호환)에서 수행되었습니다.
0/40 * * * * date >> Cron.log
crontab -e는 위 줄에 대해 crontab을 허용하지도 않습니다. 0은 특정 분입니다. 건너뛰어도 소용이 없습니다. 그것은 던진다:
"/tmp/crontab.4BQ7AN/crontab":0: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)
비교됨
*/40 * * * * date >> Cron.log
*는 0,1,2,...,59의 목록을 나타내기 때문에 이 버전을 허용합니다. 점프하면 0과 40으로 줄어듭니다.
범위 및 단계 구성의 효과를 보여주기 위해 crontab을 작성했습니다.
$ crontab -l
#.. Crontab to illustrate ranges and steps.
#.. Every 20 mins from 0: 0, 20, 40.
*/20 13,14 * * * ~/Stamp 'Line 4:: */20'
#.. Every 20 minutes from 5: 5, 25, 45.
5-59/20 13,14 * * * ~/Stamp 'Line 7:: 5-59/20'
#.. Every 7 minutes from 9 to 35: 9, 16, 23, 30.
9-35/7 13,14 * * * ~/Stamp 'Line 10:: 9-35/7'
#.. Every 13 minutes from 33 to 59: 33, 46, 59.
33-59/13 13,14 * * * ~/Stamp 'Line 13:: 33-59/13'
#.. Once only.
14-14/2 13,14 * * * ~/Stamp 'Line 16:: 14-14/2'
#.. Once only.
11-59/999 13,14 * * * ~/Stamp 'Line 19:: 11-59/999'
~/Stamp는 실행 시간과 분 값을 crontab 파일에 기록하는 쉘 스크립트입니다.
$ cat ~/Stamp
#! /bin/bash
#: Stamp: demonstrate crontab processing.
Log="./133000.cronLog"
printf >>"${Log}" '%(%T)T cron time spec %s\n' -1 "${1}"
13:35에 crontab을 설치했고 작업이 기록되었습니다. 13,14시간 값으로 인해 14시 59분에 로깅이 중지되므로 런타임이 1시간 경계를 초과합니다. 나는 시, 일, 월, 요일 열이 동일한 방식으로 작동한다고 생각하지만 90분 테스트이면 충분합니다.
paul@paul-RV415-RV515 ~ $ tail -F 133000.cronLog
tail: cannot open '133000.cronLog' for reading: No such file or directory
tail: '133000.cronLog' has appeared; following new file
13:40:01 cron time spec Line 4:: */20
13:45:01 cron time spec Line 7:: 5-59/20
13:46:01 cron time spec Line 13:: 33-59/13
13:59:01 cron time spec Line 13:: 33-59/13
14:00:01 cron time spec Line 4:: */20
14:05:01 cron time spec Line 7:: 5-59/20
14:09:01 cron time spec Line 10:: 9-35/7
14:11:01 cron time spec Line 19:: 11-59/999
14:14:01 cron time spec Line 16:: 14-14/2
14:16:01 cron time spec Line 10:: 9-35/7
14:20:01 cron time spec Line 4:: */20
14:23:01 cron time spec Line 10:: 9-35/7
14:25:01 cron time spec Line 7:: 5-59/20
14:30:01 cron time spec Line 10:: 9-35/7
14:33:01 cron time spec Line 13:: 33-59/13
14:40:01 cron time spec Line 4:: */20
14:45:01 cron time spec Line 7:: 5-59/20
14:46:01 cron time spec Line 13:: 33-59/13
14:59:01 cron time spec Line 13:: 33-59/13
^C
paul@paul-RV415-RV515 ~ $