Bash

如何使用 crontab 執行腳本,以便它們在不同的日子一個接一個地執行?

  • June 26, 2021

我有 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

引用自:https://unix.stackexchange.com/questions/655887