基于nc命令监控服务端口的Shell脚本

Shell代码:

#!/bin/bash
export LANG=en_US.UTF-8

#IP
Address=127.0.0.1

#Port
Port=6379

#尝试的次数
n=5

#nc timeout,单位:秒
w=5

#体息几秒后重新尝试
sleep_time=3

function check_port() {
        /usr/bin/nc -z -w $w $Address $Port >/dev/null 2>&1
        return $?
}

#计数器
count=0

function Handler_data() {

#标识是否执行指定的命令
flag=0

check_port

if [ $? -eq 0 ]
then
       echo "Test Ok"
       exit 0
else
        if [ $n -eq $count ]
        then
            return 0
        fi
        sleep $sleep_time
echo "尝试 $((count+1))"

((count=count+1)) Handler_data fi if [ $flag -eq 0 ] then echo "-------这里端口不通的时候,需要执行的操作-------" exit 1 fi } Handler_data
posted @ 2019-11-27 14:49  小粉优化大师  阅读(513)  评论(0)    收藏  举报