이후 몇 주가 아닌 7일 동안만 Cron 작업 수행

이후 몇 주가 아닌 7일 동안만 Cron 작업 수행

7일 동안 한 번 실행하려면 cronjob을 실행해야 합니다. 나는 이것을 시도했습니다 :

 0 0 * * 0-6  myscript.sh

0-6을 제공하기 때문에 하루에 한 번, 매주 매일 실행됩니다.

하지만 작업을 여러 날 동안 실행하는 대신 일주일 동안 개별적으로 작업을 실행해야 합니다. 다른 시간에 실행해야 하므로 해당 월의 날짜는 언급하고 싶지 않습니다.

(또는)

cron에서 특수 명령 시간을 사용하여 @daily 옵션만 사용합니다.

7일 동안 단독으로 실행되도록 작업을 설정하려면 어떻게 해야 합니까?

답변1

이 작업을 수행하는 데 사용할 수 없습니다 cron. 그러나 를 사용하여 이 작업을 수행할 수 있습니다 at. 바라보다man at자세한 내용은. 다음은 myscript.sh자정에 실행되어 다음 7일 동안 작업을 제출하는 샘플 스크립트 입니다 .

for n in {1..7}
do
    echo 'myscript.sh' | at midnight + $n days
done

다음과 같은 방법으로 제출된 과제를 나열할 수 있습니다 atq.

atq | sort -n
3       Tue Sep 20 00:00:00 2016 a roaima
4       Wed Sep 21 00:00:00 2016 a roaima
5       Thu Sep 22 00:00:00 2016 a roaima
6       Fri Sep 23 00:00:00 2016 a roaima
7       Sat Sep 24 00:00:00 2016 a roaima
8       Sun Sep 25 00:00:00 2016 a roaima
9       Mon Sep 26 00:00:00 2016 a roaima

각 작업은 지정된 날짜와 시간에 정확히 한 번 실행된 다음 대기열에서 제거됩니다.

작업이 시작되기 전에 삭제해야 하는 경우 이 atrm명령을 사용하면 됩니다. 예를 들어,

atrm 3

관련 정보