我有 3 个 shell 脚本,我想在不同的日子里按顺序运行它们。我怎样才能用 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