crontabを使用してスクリプトを実行して、他の日に順番に実行するにはどうすればよいですか?

crontabを使用してスクリプトを実行して、他の日に順番に実行するにはどうすればよいですか?

3つのシェルスクリプトがあり、別の日に順次実行したいと思います。 crontabを使用してこれを行うにはどうすればよいですか?

たとえば、次の3つのスクリプトがあります。test1 test2 test3
今日は月曜日です。スクリプトはtest112時に実行されます。
明日は火曜日です。スクリプトはtest212時に実行されます。
水曜日、test3
木曜日、test1
金曜日、test2。など。

(追加情報が必要な場合はコメントでお知らせください。質問を追加します。)

ベストアンサー1

簡単な方法は、毎日スクリプトを実行して実行するスクリプトを追跡することです。それは次のとおりです。

#!/bin/bash
# find my name
me="${0##*/}"
# make sure the counter file exists.
counter="/var/run/$me"
if [[ ! -f "$counter" ]] ; then
  echo "1" >"$counter"
fi
maxcount=3
 
pick="$(cat  "$counter")"
nextpick=$(( pick + 1 ))
[[ $nextpick -gt $maxcount ]] && nextpick=1
echo "$nextpick" > "$counter"

case $pick in
  1) test1;break;;
  2) test2;break;;
  3) test3;break;;
  *) echo "Invalid pick: $pick" >&2; exit 1;;
esac
exit 0

おすすめ記事