cron은“매우 자주”작업에서 나머지를 처리하는 방법


13

내가 이렇게하면 :

*/9 * * * * /path/to/wotnot

09 시부 터 시작하여 두 시간 안에 작업이 몇시에 실행됩니까?

그건:

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h03
10h12
10h21
10h30
10h39
10h48
10h57

또는 B :

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h00
10h09
10h18
10h27
10h36
10h45
10h54

답변:


31

범위를 볼 때 해당 열 내에서만 범위를 해석하므로 분 열 내의 '* / 9'는 "분마다 나열한 다음 9 번째 값마다 선택"을 의미합니다. 이 선택 사항은 시간 상단에 재설정되므로 매시간 xx : 00, xx : 09, xx : 18 등에서 다시 시작합니다.

또한 "매시간 9 분마다"로 읽을 수 있으며, 시간의 맨 위 재설정을 의미합니다.

실제 동작은 옵션 B에 해당합니다.


이것은 실제로 질문에 대답하는 것으로 보이는 유일한 대답입니다. 확인하기 위해 이것을 시도 했습니까?
gparent

지난 10 분 안에? 아니요. 지난 3 개월 이내에? 예, 구체적으로 9 분 간격은 아닙니다.
John

내가 당신을했을 때 내가 왜 신경 쓰는지 모르겠지만 감사합니다.
gparent

1
전직 동료들에게 "당신은 그것을 테스트하지 않았고, 당신은 당신의 잘못된 기억에 의존하고 있습니다!" 비슷한 상황에서 (물론 5 분 후에도 여전히 효과가 있음을 입증 한 후 화가 나옵니다.) 그러므로 미리 그에 대한 헤징 습관을 형성했습니다.
John

2
테스트의 첫 단계는 고객 (이 경우 Jesse)과 동일한 브랜드 및 버전을 사용하는 것입니다. 지금까지 그가 어떤 cron을 사용하고 있는지에 대한 단서가 없습니다. (Vixie Cron 일 가능성이 높으며이 기본 기능은 해당 프로그램의 버전에서 안정적 일 수 있습니다.)
Kaz

22

John의 답변을 확인하기 */n위해 분 열에서 "분이 0 mod n 일 때"를 의미합니다. crontab항목 은 다음과 같습니다 .

*/7 * * * *  date >> /tmp/foo

출력은 다음과 같습니다.

Thu Jan 10 14:49:01 GMT 2013
Thu Jan 10 14:56:01 GMT 2013
Thu Jan 10 15:07:01 GMT 2013

nn : 56 이후에 다음 번 일치하는 항목은`nn + 1 : 07 이므로 마지막 두 번의 간격은 7 분이 아닙니다*/7 .

예, 나는 그 시대가 미래에 있다는 것을 알고 있습니다 (또는 내가 이것을 게시했을 때입니다). 빠른 답변을 얻으려면 시스템 시계를 약간 빨리 앞으로 움직여야했습니다.


5
노력에 +1 :)
스벤
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.