Jenkinsのキュー数をチェックし、毎分定期実行するシェルを①~④の要件で作成したいです。
スクリプト内のcountという変数を次回実行の際に引き継ぐ方法が有りましたらご教授願えますでしょうか?
①Jenkinsのキューの数を数える(result)
↓
②resultが100以上かつcountが10未満の場合countにプラス1
↓
③resultが100未満ならcountを0にクリア→処理終了
↓
④countが10になったらアラートをsend mailで発報後countを0にクリア→処理終了
bash
1#!/bin/bash 2 3URL=http://xxxx.net/queue/api/json 4MAIL_FROM=XXX@XXX.com 5MAIL_TO=XXX@XXXX.com 6SUBJECT="Alert" 7 8LIMIT=10 9COUNT= 10 11send_mail (){ 12cat << EOD | sendmail -t 13From: $MAIL_FROM 14To: $MAIL_TO 15Subject: $SUBJECT 16MIME-Version: 1.0 17Content-Type: text/plain; charset="ISO-2022-JP" 18Content-Transfer-Encoding: 7bit 19 20 21Alert 22 23EOD 24} 25 26 27result=`curl -s $URL | jq '.' | grep url | grep http | wc -l` 28 29if [ "$result" -ge 100 -a "$count" -lt $LIMIT ]; then 30 count=`echo "$count+1" | bc` 31elif [ "$result" -lt 100 ]; then 32 count=0 33 exit 0 34fi 35 36if [ "$count" -ge $LIMIT ]; then 37 count=0 38 send_mail 39fi
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/09 12:31
2020/06/09 12:59
2020/06/09 13:14
2020/06/09 13:29
2020/06/09 13:39
2020/06/09 13:56