這篇文章主要講解了“shell腳本怎么實(shí)現(xiàn)監(jiān)控php-fpm并自動(dòng)重啟服務(wù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“shell腳本怎么實(shí)現(xiàn)監(jiān)控php-fpm并自動(dòng)重啟服務(wù)”吧!
腳本代碼:
代碼如下:
#!/bin/bash
#變量初始化
process="php-fpm" #進(jìn)程名
startCmd="/etc/init.d/php-fpm start" #啟動(dòng)命令
down=0
while true
do
#取得http狀態(tài)碼
code=$(curl -H "Host:www.yisu.com" -m 5 -L -s -w %{http_code} http://127.0.0.1 -o /dev/null)
#當(dāng)狀態(tài)碼返回000或者大于等于500時(shí),計(jì)數(shù)故障到down變量
if [ $code -eq 000 -o $code -ge 500 ];then
((down++))
else
break
fi
#稍等5s
sleep 5
#判斷是否連續(xù)檢測三次都為故障.
if [ $down -ge 3 ];then
if [ "$(find /tmp/${process}_restart -mmin -3)" == "" ];then
#取得進(jìn)程名對(duì)應(yīng)的所有pid
pids=$(ps aux | grep ${process} | grep -v "grep" | awk '{print $2}')
#依次對(duì)所有pid執(zhí)行kill命令
for i in $pids;do
kill -9 $i
kill -9 $i
done
#kill完pid后,啟動(dòng)服務(wù)
$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腳本怎么實(shí)現(xiàn)監(jiān)控php-fpm并自動(dòng)重啟服務(wù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)shell腳本怎么實(shí)現(xiàn)監(jiān)控php-fpm并自動(dòng)重啟服務(wù)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站標(biāo)題:shell腳本怎么實(shí)現(xiàn)監(jiān)控php-fpm并自動(dòng)重啟服務(wù)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://aaarwkj.com/article30/cdhpso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容