주어진 시간 범위 내에서 컴퓨터가 활성화되어 있는 동안 스크립트를 즉시 한 번만 실행하려면 어떻게 해야 합니까?

주어진 시간 범위 내에서 컴퓨터가 활성화되어 있는 동안 스크립트를 즉시 한 번만 실행하려면 어떻게 해야 합니까?

컴퓨터를 켜자마자 지정된 요일에 몇 시간 내에 스크립트를 실행해야 합니다. 예: 매주 월요일 07:00부터 10:00까지.

나는 cron 작업을 사용하여 "요일 중 몇 시간 사이"와 "머신이 켜지자마자" 시간 조건을 독립적으로 처리하는 방법을 알고 있습니다. 그러나 지금까지 나는 이 둘을 결합하는 우아한 해결책을 찾지 못했습니다.

나는 시간 범위가 끝날 때 실행하는 옵션을 탐색했습니다(그러나 내가 원하는 것은 아닙니다).

Anacron에 대한 옵션도 보았습니다.전에 물어본 이 질문에그러나 아나크론의 세분성은 충분하지 않습니다.

그러한 의사 기간을 어떻게 구현할 수 있습니까? 크론 작업 @reboot를 스크립트와 결합할 수 있나요?

감사합니다!

답변1

직업 을 원하는 것 같군요 @reboot.

그런 다음 스크립트는 요일과 시간을 확인할 수 있습니다.

#!/bin/sh

day=$( date +%u ) # day of week as integer, 1 == Monday
tm=$( date +$k )  # time of day, 0-23

if [ "$day" -ne 1 ] || [ "$tm" -lt 7 ] || [ "$tm" -gt 10 ]; then
    # wrong day and/or time
    exit
fi

# do stuff here

관련 정보