zoukankan      html  css  js  c++  java
  • Shell快速判断服务器是否在线以及占用情况(进程是否运行)

    场景

    项目使用36台节点服务器,目前需要判断在线节点数量与占用情况。

    实现

    使用shell script执行ping成功则反馈在线并判断占用,失败则返回离线。
    占用判断通过查询特定名称进程是否存在实现。

    #!/bin/bash
    echo Checking hosts...
    for $host in Server-{{0..9},{A..Z}}
    do
    {
        if ping -w 3 $host > /dev/null
        then
            if [ `ssh user@$host pgrep -c myapp` -gt 0 ]
            then
                echo "$host is online but busy."
            else
                echo "$host is online and free."
            fi
        else
            echo "$host is offline."
        fi
    }&
    done
    wait
    

    若发行版未包含gprep工具,可使用 ps -e|grep myapp|wc -l代替

    调用

    由于采用异步操作,返回结果可能是乱序。
    执行时使用./check.sh | sort可按ASCII升序显示。

  • 相关阅读:
    dp的冗余(选数类)
    noip2016自测报告
    dalao高精
    二叉苹果树
    最长上升子序列加强版
    Above the Median
    树状数组学习笔记
    Java委托机制
    Java集合
    Java异常
  • 原文地址:https://www.cnblogs.com/azureology/p/13297365.html
Copyright © 2011-2022 走看看