하루 특정 시간(오후 10시~오전 12시)을 제외한 분당 크론 작업

하루 특정 시간(오후 10시~오전 12시)을 제외한 분당 크론 작업

매분 24x7로 실행되는 cronjob이 있습니다. 매일 오후 10시에서 오전 12시 사이가 유지 관리 기간이기 때문에 중지하고 싶습니다. 내가 할 수 있는 방법이 있나요?

답변1

즉, 매일 실행하고 싶다는 뜻입니다.xx:yy, 어디더블 엑스0에서 21 사이의 임의의 시간입니다.이제 곧입니다. 시간은 00:00에 시작하여 21:59에 종료됩니다.

그래서:

* 0-21 * * * command...

이미 21:30에 멈추고 싶다면 해당 시간에 대해 별도의 규칙을 만들어야 합니다.

   * 0-20 * * * command...
0-29   21 * * * command...

여기의 기간은 매우 간단하기 때문에 이 방법으로 쉽게 할 수 있습니다. 좀 더 복잡한 일정(예: 32분마다(정확히 하루 45회))으로 실행하려는 경우 시간은 시간에 따라 거의 무작위로 분산되므로 거의 매 시간에 대한 규칙이 필요합니다. 프로그래밍 방식으로 시간을 보고 계산을 수행하는 것이 더 간단할 것입니다.

또한 평일과 달력 날짜를 결합하는 것은(예: 고전적인 "매월 첫 번째 일요일" 수행) 훨씬 더 어려우며 일반적으로 약간의 스크립팅이 필요합니다. (이것은 기본적으로댓글에 연결된 질문그것은 관하여. ) 이는 대부분 월 및 요일 필드가 crontab작동하는 방식 때문입니다. 다른 경우처럼 두 필드가 일치하도록 요구할 필요는 없으며 이것으로 충분합니다.누구나crontab따라서 일정을 더 작은 규칙으로 나누고 이를 기반으로 구축하는 것은 불가능합니다 .

관련 정보