您好,登錄后才能下訂單哦!
這篇文章主要講解了“shell腳本怎么實現監控php-fpm并自動重啟服務”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“shell腳本怎么實現監控php-fpm并自動重啟服務”吧!
腳本代碼:
代碼如下:
#!/bin/bash
#變量初始化
process="php-fpm" #進程名
startCmd="/etc/init.d/php-fpm start" #啟動命令
down=0
while true
do
#取得http狀態碼
code=$(curl -H "Host:www.neiyidaogou.com" -m 5 -L -s -w %{http_code} http://127.0.0.1 -o /dev/null)
#當狀態碼返回000或者大于等于500時,計數故障到down變量
if [ $code -eq 000 -o $code -ge 500 ];then
((down++))
else
break
fi
#稍等5s
sleep 5
#判斷是否連續檢測三次都為故障.
if [ $down -ge 3 ];then
if [ "$(find /tmp/${process}_restart -mmin -3)" == "" ];then
#取得進程名對應的所有pid
pids=$(ps aux | grep ${process} | grep -v "grep" | awk '{print $2}')
#依次對所有pid執行kill命令
for i in $pids;do
kill -9 $i
kill -9 $i
done
#kill完pid后,啟動服務
$startCmd
echo "$(date) Return code $code,${process} had been restarted" >> /tmp/${process}_restart
else
echo "$(date) ${process} not yet recovery.As it had been restarted in 2 minutes.so this time ignore." >> /tmp/${process}_not_restart
fi
break
fi
done
感謝各位的閱讀,以上就是“shell腳本怎么實現監控php-fpm并自動重啟服務”的內容了,經過本文的學習后,相信大家對shell腳本怎么實現監控php-fpm并自動重啟服務這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。