5日ごとにCronジョブを実行する方法

5日ごとにCronジョブを実行する方法

5つのシェルスクリプトがあり、次のように5日間のサイクルで実行したいと思います。

1日目:スクリプト1 2日目:スクリプト2 3日目:スクリプト3 4日目:スクリプト4 5日目:スクリプト5

6日目:スクリプト1 7日目:スクリプト2 8日目:スクリプト3 9日目:スクリプト4 10日目:スクリプト5

そして、5日間のサイクルでスクリプトを実行し続けます。クローンジョブでどのように設定しますか?

ありがとう

答え1

cronそれ自体はこれをサポートしません。あなたが望むことを達成するための最速の方法は、cronスケジューラスクリプトが毎日(同時に)実行されるように要求し、スケジューラスクリプトにその日の条件に従って実行する他のスクリプトを決定させることです。たとえば、

#!/bin/sh

case $(expr $(date +%s) / 86400 % 5) in
   0)
       exec /script/for/day/1
       ;;
   1)
       exec /script/for/day/2
       ;;
   2)
       exec /script/for/day/3
       ;;
   3)
       exec /script/for/day/4
       ;;
   4)
       exec /script/for/day/5
       ;;
esac

関連情報