이것이 유효한 crontab 시간 사양입니까? 예상되는 작업을 수행합니다.
0 22-4 * * *
아니면 다음과 같은 작업을 수행해야 합니까?
0 22,23,0,1,2,3,4 * * *
답변1
자정에 cronjob을 실행하는 데 문제가 있습니다. 문제의 스크립트에 대해 거의 동일한 두 개의 항목을 추가하게 되었습니다.
* 22-00 * * * /myscript
* 00-05 * * * /myscript
이것이 효과가 있었던 것 같습니다.
22-05를 사용하다가 cron failure가 발생하여 제거 과정을 거쳐 이 해결 방법을 생각해냈습니다.
답변2
주변에는 다양한 cron 데몬이 있으며 정확히 어떤 데몬을 사용하고 있는지 알려주지 않으면 알아낼 수 있는 방법이 없습니다(이 극단적인 경우 목록 처리가 한 버전에서 다음 버전으로 변경될 가능성이 높습니다). 가장 좋은 방법은 명확한 체크리스트를 따르는 것입니다. 일부 구현에서 랩어라운드를 이상한 표현 방식으로 취급하더라도 별로 놀라지 않을 것입니다 4-22
.
현지 문서에 이 상황이 언급되어 있습니까? 예를 들어 두 개의 목록을 갖는 것이 합법적일까요 22-23,0-4
?
답변3
나는 이와 같은 범위를 사용해 본 적이 없으며 그것이 작동하는지 잘 모르겠습니다. 그래서 나의 첫 번째 제안은 그것을 테스트하고 무슨 일이 일어나는지 보는 것입니다. 아마도 로그 항목이나 다른 무해한 일을 실행하는 스크립트를 사용할 수도 있습니다.
둘째, ATT 및 BSD cron을 사용하면 범위와 목록이 공존할 수 없으므로 각 시간을 별도로 나열하거나 두 줄(하나는 범위, 다른 하나는 목록)이 있어야 합니다.
답변4
크론 검사에 유용한 도구:
* 22-4 * * *
cron은 "당일" 작동하기 때문에 cron을 사용하면 작동하지 않습니다.
다양한 변형을 시도해 볼 수 있지만 가장 정확한 것은 다음과 같습니다.