開發shell指令碼檢查Nginx實戰分享

2021-09-04 11:49:01 字數 2385 閱讀 9954

開發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

index

upstream

name

status

status.html

index

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    

四、nginx.conf站點配置

}}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使用率,記憶體使用率,根分割槽的磁碟占有率,百分比只需精確到個位 出現磁碟占有率...