その後、数週間ではなく7日間のみCronタスクを実行する

その後、数週間ではなく7日間のみCronタスクを実行する

7日間一度実行するには、cronjobを実行する必要があります。私はこれを試しました:

 0 0 * * 0-6  myscript.sh

0〜6を提供するので、1日1回、毎週毎日実行されます。

ただし、ジョブを数日間実行するのではなく、週に別々にジョブを実行する必要があります。別の時間に実行する必要があるため、その月の日付は言及したくありません。

(または)

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

各ジョブは、指定された日時で正確に1回実行され、キューから削除されます。

ジョブの開始前に削除する必要がある場合は、このatrmコマンドを使用してください。例えば、

atrm 3

おすすめ記事