zoukankan      html  css  js  c++  java
  • shell脚本批量检查某个或多个服务的端口和进程是否正常

    #!bin/bash

    ARRAY1=('192.168.1.1' '192.168.1.2')
    for ip1 in ${ARRAY1[*]}
    do
     
     process_count1=$(ssh -o ConnectTimeout=3 $ip1 'netstat -ntlp|grep "端口名" |grep -v grep |wc -l' 2>/dev/null)

     if  [ "$process_count1" -eq 1 2>/dev/null ];then
            echo -e "33[32m $ip1 控制台服务端口 正常 33[0m"
     else
      echo -e "33[31m $ip1 控制台服务端口 异常33[0m"
     fi
     process_name1=$(ssh -o ConnectTimeout=3 $ip1 'ps -ef|grep "进程名" |grep -v grep |wc -l' 2>/dev/null)
     if  [ "$process_name1" -eq 1 2>/dev/null];then
            echo -e "33[32m $ip1 控制台服务进程 正常33[0m"
     else
      echo -e "33[31m $ip1 控制台服务进程 异常33[0m"
     fi
    done

     
    echo "************************************************************************" 

    脚本解释:

    1.通过遍历数组中的ip,通过ssh连接输入命令过滤端口和进程,进而判断服务状态;

    2.2>/dev/null是为了加强体验,不然ip连不上会导致超时错误输出在屏幕上,if 那一句也是重定向报错信息;

    3.echo -e  "33[31m  hello  33[0m";固定的格式写法,屏幕输出红色的hello,如果31改成32则是绿色。更多颜色可以网上查下;

    4.如果有多个服务,那就设置多个数组,多个端口多个进程参数,照猫画虎。

    运行结果:

    
    
     192.168.1.1           控制台服务端口          异常
     192.168.1.1           控制台服务进程          异常
     192.168.1.2           控制台服务端口          异常
     192.168.1.2           控制台服务进程          异常
    ************************************************************************        
    
    
    每天进步一点点!
  • 相关阅读:
    [转载]instanceof和typeof区别
    【转载】DNN架构
    Delphi实现高性能的Socket通讯服务器(完成端口模型IOCP)
    record, packed record和变体记录
    Delphi操作Word的几个知识点
    WinSock学习笔记6:IOCP完成端口模型
    MyEclipse 常用设置和操作方法
    PAIP.一些流氓软件的流氓营销方法.txt
    qq安全使用指南.txt
    海量数据高性能分页
  • 原文地址:https://www.cnblogs.com/qianjunjun/p/14470954.html
Copyright © 2011-2022 走看看