야간 일정을 위한 crontab 항목

야간 일정을 위한 crontab 항목

월요일부터 금요일까지 밤 10시부터 다음날 오전 5시까지 2분 간격으로 스크립트를 작성해야 하는데, 다음 내용이 맞는지, 유효한지, 아니면 또 다른 정답이 있는지는 잘 모르겠습니다...

*/2 22-00 * * 1-5  /myscript.sh
*/2 00-05 * * 2-6  /myscript.sh

업데이트: 일요일 오후 10시에 시작할 것으로 예상합니다. 그때부터 금요일까지 매일 22~05시에 실행될 것으로 예상됩니다.

답변1

이 작업은 하나의 항목으로 수행할 수 있습니다.

*/2 22-23,0-4 * * * /path/to/myscript.sh

/path/to/myscript.sh매일 22:00부터 04:58까지 2분 간격으로 실행됩니다.

질문에 대한 설명 부록을 고려할 때, 요일마다 실행 시간이 다르기 때문에 이를 하나의 항목으로 수행할 수 없습니다. 이와 같이:

*/2 22-23 * * 0-5 /path/to/myscript.sh  # Execute from 2200-2358 Sun-Fri
*/2 00-04 * * 1-5 /path/to/myscript.sh  # Execute from 0000-0458 Mon-Fri

답변2

첫 번째 항목은 뒤로 실행할 범위를 지정합니다. 그래야지

*/2 22-23 * * 1-5  /myscript.sh

보장 시간은 월요일부터 금요일까지 22:00부터 23:58까지입니다.

두 번째 항목은 아마도 0으로 채워진 숫자를 사용해서는 안 됩니다.

*/2 0-4 * * 1-5 /myscript.sh

여기에는 00:00부터 04:58까지의 범위가 포함됩니다.

위의 두 스케줄은 /myscript.sh월요일부터 금요일까지 22:00부터 04:58까지 2분 간격으로 실행됩니다(월요일 오전 00:00에 시작하여 금요일 밤 23:58에 종료).

이 두 가지는 다음과 같이 결합될 수 있습니다.

*/2 22-23,0-4 * * 1-5 /myscript.sh

이 일정도 참고하세요crontab 마스터 웹사이트.

마지막 실행 시간을 오전 5시로 설정하려면 추가 일정을 추가하세요.

0 5 * * 1-5 /myscript.sh

업데이트된 질문을 고려해보세요.

*/2 22-23     * * 7   /myscript.sh
*/2 22-23,0-4 * * 1-4 /myscript.sh
*/2 0-4       * * 5   /myscript.sh
0   5         * * 1-5 /myscript.sh

/myscript.sh일요일 22:00부터 금요일 05:00, 22:00부터 05:00까지 2분 간격으로 운행됩니다.

  1. 첫 번째 일정은 일요일 저녁 근무를 진행합니다.
  2. 두 번째 일정은 월요일부터 목요일까지(04:58까지) 저녁 및 오전 시간에 실행됩니다.
  3. 세 번째 일정은 금요일 오전 작업을 실행합니다(04:58까지).
  4. 네 번째 일정은 월요일부터 금요일까지 05:00에 작업을 실행합니다.

관련 정보