shell脚本案例-判断服务状态

案例需求

判断计算机某个端口是否为OPEN状态,且能正常访问

脚本应用场景:

服务监控脚本+监控平台

手动监控

解决问题

实时掌握服务的运行状态,及时处理问题。

脚本思路

1、使用telnet命令连接远端机器的远端端口

2、接收连接反馈并分析结果

3、分析文件内容

4、打印结果

实现代码

    #!/bin/bash
    #Description: 
    #Author: www.zutuanxue.com
    #Created Time: 
    #监控一个服务端口
    
    
    #main
    
    temp_file=`mktemp port_status.XXX`
    
    #1、判断依赖命令telnet是否存在
    [ ! -x /usr/bin/telnet ]&&echo "telnet: not found command"&& exit 1
    
    #2、测试端口 $1 IP    $2 port
    ( telnet $1 $2 <<EOF
    quit
    EOF
    ) &>$temp_file
    
    #3、分析文件中的内容,判断结果
    if egrep "\^]" $temp_file &>/dev/null;then
         #4、打印结果
       echo "$1 $2 is open"
    else
       echo "$1 $2 is close"
    fi
    
    #5、删除临时文件
    rm -f $temp_file

案例思考

    #监控方法
    #1)通过systemctl  service   服务启动状态  
    #2)lsof 查看端口是否存在
    #3)查看进程是否存在
       注意  压力过大 无法响应 |  服务down了  上述东西还在  监测不准确
    
    #4)测试端口是否有响应    推荐
        #telnet 协议 
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值