需求:檢測本機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 每個不一樣,反正最右側的這個數字就是占...