检测本机端口存活

例6

需求:检测本机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 '{print $1}'`
                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的时候启动不成功,请检查!!!"
                fi
        fi
       sleep 60
done

知识点:死循环和基本的逻辑判断,“yes | docker container prune” shell中的自动确认交互信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值