5分ごとにbashスクリプトを実行し、期間に基づいて事前定義されたパラメータを使用したいと思います。
たとえば、1、2、5、10、15、50、15、10、5、2をパラメータとして使用し、ループを再開したいとします。
理想的には、パラメータは簡単に編集し、いくつかのパラメータを追加または削除できるファイルまたはスクリプトに保存されます。
どうすればいいですか?
スクリプト、配列、および.を使用してこれを実行できますが、while [[ true ]]
cronを使用して実行できるかどうか疑問に思います。
答え1
おそらくこれを達成する最も効率的で簡単な方法の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
必要なクローンスケジュールを使用できます。