Bash
如何使用 crontab 執行腳本,以便它們在不同的日子一個接一個地執行?
我有 3 個 shell 腳本,我想在不同的日子裡按順序執行。我怎麼能用 crontab 做到這一點?
例如,我有這 3 個腳本:
test1 test2 test3
今天是星期一。腳本
test1
在 12 點執行。明天是星期二。腳本
test2
在 12 點執行。星期三,
test3
.星期四,
test1
.週五,
test2
. 等等。(如果需要任何進一步的資訊,請在評論中告訴我,以便我補充問題。)
簡單的方法是每天執行一個腳本,並讓它跟踪要執行的腳本。就像是:
#!/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