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