1. 程式人生 > 其它 >分享一個自己寫的簡單指令碼。 檢測本機服務埠指令碼

分享一個自己寫的簡單指令碼。 檢測本機服務埠指令碼

#!/bin/bash
##服務名稱
SERVICE_NAME="nginx1 nginx2 ningx3 nginx4"

ip=1.1.1.1   #本機ip

#檢測服務是否正常
for service in $SERVICE_NAME
do
#echo -----------------------  無視分割線內內容  -----------------------------
##檢測服務是否存在
service_quantity=`docker ps | grep $service | wc -l`

if [ $service_quantity -lt 1 ];then
     curl 
'https://oapi.dingtalk.com/robot/send?access_token=5e64853712e0e40b4ab069c70b71743d4347c55b3e2f9ab9891d082744db54b5' \ -H 'Content-Type: application/json' \ -d "{\"msgtype\": \"text\", \"text\": { \"content\": \"Details $ip $service 服務不存在 請檢查服務\" } }" break ##判斷服務是否正常 service_logs
=`docker inspect --format '{{.State.Running}}' ${service}` if [ ${service_logs} != true ];then curl 'https://oapi.dingtalk.com/robot/send?access_token=5e64853712e0e40b4ab069c70b71743d4347c55b3e2f9ab9891d082744db54b5' \ -H 'Content-Type: application/json' \ -d "{\"msgtype\": \"text\", \"
text\": { \"content\": \"Details $ip $service 服務沒有正常啟動 請檢查服務\" } }" break fi fi done #檢查埠 server_ports=(80 81 82 83) for server_port in ${server_ports[@]}; do while ((count<5));do nc -w 1 -z $ip $server_port > /dev/null 2>&1 if [[ $? -ne 0 ]];then curl 'https://oapi.dingtalk.com/robot/send?access_token=5e64853712e0e40b4ab069c70b71743d4347c55b3e2f9ab9891d082744db54b5' \ -H 'Content-Type: application/json' \ -d "{\"msgtype\": \"text\", \"text\": { \"content\": \"Details $ip:$server_port 埠異常 請檢查埠\" } }" break else echo > /dev/null 2>&1 break fi done done