開發shell指令碼檢查nginx實戰分享
一、本指令碼實現功能:
1、自動檢查nginx下面的**節點是否正常
2、通過頁面顯示狀態,有問題的節點給出頁面報警及聲音報警。
3、增加新節點,頁面自動載入新節點,無需修改程式。
二、守護檢查指令碼
[root@lb01 extra]# cd /server/scripts/三、相關檔案[root@lb01 scripts]# vi nginx_check.sh
#!/bin/bash
# oldboy training 21 zhangyao
# defined variables
extrapath=$nginxdir/conf/extra
scriptdir=/server/scripts
statuslog=$scriptdir/status.log
statushtml=$nginxdir/html/status/status.html
statushtmlori=$nginxdir/html/status/status.html.ori
# judge some files
[ -d $nginxdir ] ||exit 1
[ -d $scriptdir ] ||mkdir -p $scriptdir
[ -f $statuslog ] ||touch $statuslog
[ -f $statushtml ] ||touch $statushtml
# defined check url functions
function check_url()
# defined list url and check functions
function check()' $file`)
for i in $
docheck_url $file $i
done
done
}# defined html table format functions
function table()
function html()" == "up" ]
then
table "#90ee90" $index $ #將顏色引數、index值及其他引數傳給table函式
else
table "#ff0000" $index $
((flag++)) #down情況下flag會計數
fi((index++))
done
[ $flag -eq 0 ] ||\ #如果flag不為0,肯定有down機器,增加乙個語音報警的功能,仿照zabbix
sum=$sum""
sed -i "/c0c0c0/a $sum" $statushtml #將sum語句插入html檔案
}# defined main functions
function main()
main
status.html.ori
indexstatus.htmlupstream
name
status
index四、nginx.conf站點配置upstream
name
status
1dynamic_pools
10.0.0.6:80up2
static_pools
10.0.0.5:80up3
static_pools
10.0.0.6:80
up
}}extra/dynamic_pools包含檔案
upstream dynamic_pools
extra/static_pools包含檔案
upstream static_pools
站點下健康檢查檔案:check.html
ok五、效果
正常狀態效果:
shell指令碼 檢查檔案是否存在
from 寫乙個指令碼,來檢查某個檔案是否存在,如果存在,則輸出它的詳細資訊,如果不存在,則提示輸出檔案不存在。在給出這個指令碼之前,先來了解一下如下幾個命令 檔案upload.zip為例 1.ll h upload.zip rw r r 1 root root 3.3m 06 28 23 21 u...
Shell指令碼 安卓應用許可權檢查
現在 google play 對應用許可權的管理非常嚴格,之前公司內有個版本就是因為新增了四個許可權導致停灰處理。所以,在每個版本發布之前很有必要檢查一下是否有新增許可權。安卓應用請求的所有許可權可以通過 aapt 命令檢視 在拿到應用的許可權列表後,即可對比兩個版本的許可權是否有變化,新增加或者新...
shell指令碼 開發系統監控指令碼
某公司隨著業務的不斷發展,所使用的linux伺服器也越來越多。管理員希望編寫乙個簡單的效能監控指令碼,放到各伺服器中,當監控指標出現異常時傳送告警郵件。編寫名為sysmon.sh的shell監控指令碼 監控內容包括cpu使用率,記憶體使用率,根分割槽的磁碟占有率,百分比只需精確到個位 出現磁碟占有率...