檢測本機埠存活

2021-09-29 18:28:21 字數 910 閱讀 3678

需求:檢測本機3128埠的存活狀態,不存活則重新啟動。

因本機的3128埠的服務是用docker啟動的,故啟動命令和原啟動命令不同

使用到的命令:while do done;if

while:do

d=`date +%f\ %t`

n=`netstat -tunpl |

grep -w 3128 |

wc -l`

if[$n -eq 0 ]

then

id=`docker container ls

|grep -v "container"

|awk''`

docker contianer stop $id

&&yes

| docker container prune

docker run --name squid -d --restart=always --publish 3128:3128 -v /usr/local/squid/etc/:/usr/local/squid/etc -v /usr/local/squid/var/logs/:/usr/l

ocal/squid/var/logs term319/squid:v4.8 2>/tmp/checksquid.err

echo

"squid 在$d的時候已重新啟動"

pn=`pgrep -l squid |

wc -l`

if[$pn -eq 0 ]

then

echo

"squid 在$d的時候啟動不成功,請檢查!!!"

fifi

sleep 60

done

知識點:死迴圈和基本的邏輯判斷,「yes | docker container prune」 shell中的自動確認互動資訊

shell 指令碼批量檢測主機存活狀態

liunx 伺服器管理中,有時需要檢測主機的存活狀態,當主機不多的時候,可以直接使用ping 命令,當主機很多的時候直接使用ping 命令管理起來就比較麻煩了,使用shell 指令碼編寫的ping 命令檢測主機存活狀態,是乙個很好的方法。1 2 3 4 5 6 7 8 9 10 11 12 13 1...

檢測redis例項是否存活 linux環境下

testingredis.sh指令碼內容如下 列印時間 echo date y m d h m s 埠號陣列 redis array 7001 7002 7003 7004 7005 7006 迴圈陣列 for a in do lsof 命令不同的機器會在不同的目錄下 使用which lsof 來查...

如何檢視本機埠開放

開始 執行輸入cmd。在cmd視窗中輸入netstat aon findstr 80,80表示要檢視的埠號。看到0.0.0.0 80 listening表示本地有程式正在使用80埠進行監聽,說明是有程式在占有了80埠,看到最右側有占有這個程式的程序id 892 每個不一樣,反正最右側的這個數字就是占...