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

관련 정보