监控一个端口存活状态

一:监控方法

(1)通过systemctl service   服务启动状态
(2)lsof 查看端口是否存在
(3)查看进程是否存在
        【服务假死怎么办 压力过大 无法响应 服务down了,东西还在(僵尸进程)】
(4)测试端口是否有响应               【推荐】
         #telnet 协议
 

二:代码及其测试结果

#main
port_status () {
temp_file=`mktemp port_status.XXX`

#1、判断依赖命令telnet是否存在
[ ! -x  /usr/bin/telnet  ] && echo "telenet: not found command" && exit 1  #-x可执行文件
#2、测试端口   
       #$1代表IP     $2代表端口port  比如telenet 192.168.10.50 22
( telnet $1 $2 <<EOF
quit
EOF
) &>$temp_file   #写入到临时文件
#3、分析文件中的内容,判断结果
if egrep "\^]" $temp_file &>/dev/null;then     #涉及到符号记得考虑是否需要转义
   echo "$1 $2 is open"
else
   echo "$1 $2 is close"
fi

rm -f $temp_file
}
#函数带参的问题,如果函数内部需要参数,需要传参
port_status $1 $2

[root@localhost opt]# vi 32test.sh
[root@localhost opt]# sh 32test.sh 192.168.10.50 8080
192.168.10.50 8080 is close
[root@localhost opt]# sh 32test.sh 192.168.10.50 22
192.168.10.50 22 is open


补充:
(1)创建临时文件
mktemp port_status.XXX
(2)创建临时文件夹
mktemp -d port_status.XXX

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值