3 개월마다 cron 작업을 실행하는 방법은 무엇입니까?


답변:


68

다음은 1 월, 4 월, 7 월 및 10 월 1 일 03:30에 스크립트를 실행합니다.

30 03 01 Jan,Apr,Jul,Oct * /path/to/script

또는 덜 분명한

30 03 01 */3 * /path/to/script

1 월, 4 월, 7 월 및 10 월 1 일 03:30에 3 개월마다 실행됩니다.


4
+1 : 나는 항상 / 표기법이 가장 명백하다고 생각했습니다. (crontab의 예약 부분에있는 단어가 나를 놀라게합니다 ... 나는 할 수 있습니다 : "0 0 3,6,9,12 * /path/to/script.bash"/ 3 할 수없는 경우)
Satanicpuppy

11
하지 않을 */3매 4 개월 (= 4 12/3) 일?
warren

8
@warren 아닙니다. 여기의 논리는 더 많은 모드 진실 진술입니다. 예 : if (12 % 3 == 0) : run_script (). 나도 이것에 대해 생각했다! 좋은 질문입니다.
Goahnary

1
@Goahnary 나는 또한 설명을 요청한 후 잠시 동안 깨달았다 :)
warren

3
@warren은 실제로 부서보다는 mod 연산자 여야합니다. 그러나 오 잘 ¯_ (ツ) _ / ¯
Goahnary

7

Wikipedia 에는 Cron을 구성하는 방법에 대한 좋은 설명이 있습니다.

구체적인 경우 3 개월마다 Cron Expression 을 실행하여 일정에 맞게 월을 변경할 수 있습니다.

0 0 1 JAN,APR,JUL,OCT  * /path/to/script.bash

2
-1 정답으로 표시되었지만 필드의 순서가 잘못되어 오류가 발생하지만 올바른 순서로하더라도 매일 자정부터 1 월, 4 월, 7 월, 10 월 (예 : 01/01 02)까지 실행됩니다 / 01 ... 31/01 01/04 ..) 3 개월에 한 번이 아닙니다. 내 대답은 효과가 있었지만 받아들이지 않았습니다. 슬프다!
Richard Holloway

@Richard Holloway – 서버 오류의 미스터리 – 오타를 지적 해 주셔서 감사합니다
Jon Rhoades

1
변경 사항을 반영하기 위해 -1을 제거했습니다.
Richard Holloway

또한 쉼표 뒤에 공백이 없어야합니다. 많은 cron 구현에서는 공백을 구분 기호로 간주합니다. 숫자 달이 필요한 구현을 접할 수도 있지만 요즘에는 드물다고 생각합니다.
David Spillett

@David Spillett 감사합니다. 결국 도착할 것입니다. 아마도 가장 어려운 대답 일 것입니다. 품위가 있다면 삭제하겠습니다.)
Jon Rhoades
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.