N 분마다 오프셋을 더한 Cron 작업 실행


251

*/20 * * * *

20 분마다 실행되도록 보장합니다. 시간당 5 분부터 시작하여 20 분마다 작업을 실행하고 싶습니다 .Cron에서 가능합니까? 일 것이다:

5/20 * * * * ?


10
시간 체계를 정확히 1,2,3,4,5 및 6으로 나누어야한다고 결정한 바빌론 사람들에게 감사드립니다.
arivero

3
2와 3으로 나눌 수 있으면 6으로 나눌 수도 있습니다
Ziofil

답변:


514

한 시간 지난 5시에 시작하여 20 분마다 작업을 실행하려면 다음을 시도하십시오.

 5-59/20 * * * *

설명

*미소 필드는 동일한 0-59/1곳에 0-59는 IS 범위1는 IS 단계 . 명령은 범위 (0) 의 첫 번째 분에 실행 된 다음 첫 번째 단계 (1)에서 마지막 (59)까지 먼 모든 연속 분에서 실행됩니다 .

그렇기 때문에 */20 * * * *0 분, 20 분 후 및 40 분 후에 실행됩니다. 이는 20 분마다 동일합니다. 그러나 */25 * * * *0 분, 25 분 후 및 50 분 후에 실행되며 이는 25 분마다 다릅니다. 그렇기 때문에 일반적으로 분 필드에 단계 값을 60으로 균등하게 나누는 것이 좋습니다.

따라서 시작 시간을 오프셋하려면 범위를 명시 적으로 지정하고 첫 번째 값을 오프셋 양으로 설정하십시오.

5-59/20 * * * * 5 분 후, 25 분 후 및 45 분 후에 실행됩니다.

10-59/25 * * * * 10 분 후와 35 분 후에 실행됩니다.

1-59/2 * * * * 홀수 분마다 실행됩니다.


3
완벽하게 작동합니다. 어떻게 알았어? 문서를 향해 나를 가리킬 수 있습니까? 감사.
AJP

12
다양한 Google 검색으로 인해이 서버 오류 답변이 나왔습니다 . 특히 다른 결과는 분 모듈러스 단계가 0과 같아야 한다고 제안했기 때문에 실제로 혼란 스러웠습니다 . 나는 마침내이 매뉴얼 페이지 를 찾았다 . 결과적으로, 이제 해결 된 서버 결함 답변에 대해 의견을 제시 할 수있었습니다. IBM 페이지를 찾는 데 사용한 실제 검색어를 기억하지 못합니다.
toxalot

3
감사합니다. @toxalot의 훌륭한 작품, "Tireless Investigator"배지를 수여하시기 바랍니다. : P
AJP

5
LOL. 나는 10 분마다 작업을 실행해야했고 (5로 오프셋) 실제로 쉼표로 구분 된 목록을 사용하고 싶지 않았으므로 답을 찾기로 결정했습니다.
toxalot

2
CPanel은 불행히도 이것을 좋아하지 않는 것 같습니다 :(
Robert Went

53

확실한!

5,25,45 * * * * /your/cron

2
감사. 나는이 일을 끝내고 더 우아한 해결책이 있기를 바랐습니다.
AJP

13
때로는 간단한 해결책이 읽기 쉽고 이해하기 쉽기 때문에 더 좋습니다. 나는 그것이 5-59/20가능하다는 것을 알고 는 있지만 5,25,45그것이하는 일을 즉시 명확하게한다는 이점이 있습니다.
thomasrutter

2
단계가 충분히 큰 경우에만
Tebe

3
이것은 훨씬 더 좋은 예입니다. 작업이 시작되는 시점을 이해하려면 0의인지 부하가 ​​필요합니다.
Dylan Pierce

11

당신은 시도 할 수 있습니다: */5 * * * * sleep N; your job


4
나는 이것에 아무런 문제가 없다-실제로 이것은 certbot의 cron 작업이 서버로드 균형을 유지하는 데 도움이되는 임의의 오프셋을 얻는 방법과 매우 유사합니다. 확실히 모든
다운 보트를

6
이로 인해 임의의 초 수면을 취하는 방법이 궁금합니다. sleep `shuf -i 1-100 -n 1`트릭을 수행합니다.
Laizer 2019

젠장. (감사합니다!)
UncaAlby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.