월요일부터 금요일까지 밤 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분 간격으로 운행됩니다.
- 첫 번째 일정은 일요일 저녁 근무를 진행합니다.
- 두 번째 일정은 월요일부터 목요일까지(04:58까지) 저녁 및 오전 시간에 실행됩니다.
- 세 번째 일정은 금요일 오전 작업을 실행합니다(04:58까지).
- 네 번째 일정은 월요일부터 금요일까지 05:00에 작업을 실행합니다.