
我想每 5 分鐘運行一次 bash 腳本,並根據週期使用預先定義的參數。
例如,我想使用 1, 2, 5, 10, 15, 50, 15, 10, 5, 2 作為參數,然後再次開始循環。
理想情況下,參數儲存在文件或腳本中,我可以在其中輕鬆編輯它們、添加或刪除一些參數等。
我怎麼做 ?
我可以用一個腳本、一個陣列和一個來做到這一點,while [[ true ]]
但我想知道我是否可以用 cron 來做到這一點。
答案1
實現這一目標的最有效且最簡單的方法之一可能是讓腳本處理追蹤幻數循環而不是使用參數。像這樣的東西:
#!/bin/bash
sequence=(1 2 5 10 15 50 15 10 5 2)
if [[ -r /var/tmp/myjob.seq ]]; then
seq="$(cat /var/tmp/myjob.seq)"
if [[ $seq -lt $((${#sequence[@]}-1)) ]]; then
nextseq=$(($seq+1))
else
nextseq=0
fi
echo $nextseq > /var/tmp/myjob.seq
else
seq=0
echo 1 > /var/tmp/myjob.seq
fi
magicnumber=${sequence[$seq]}
然後,您可以參考$magicnumber
稍後的腳本,並使用您喜歡的任何 cron 計劃。