3개의 쉘 스크립트가 있고 이를 다른 날에 순차적으로 실행하고 싶습니다. crontab을 사용하여 이 작업을 어떻게 수행할 수 있나요?
예를 들어 다음과 같은 3개의 스크립트가 있습니다. test1 test2 test3
오늘은 월요일입니다. 스크립트는 test1
12시에 실행됩니다.
내일은 화요일입니다. 스크립트는 test2
12시에 실행됩니다.
수요일, 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