zoukankan      html  css  js  c++  java
  • linux系统监控shell脚本

    代码如下,实现了Linux系统的一些常见的监控变量,分享给大家@.·.@

    #=============================#
    #Filename=system_monitor.sh
    #Author:foxsir
    #Date:2016-02-15
    #=============================#
    #!/bin/sh
    clear
    if [[ $# -eq 0 ]]
    then
    #Define Variable Reset_terminal
        Reset_terminal=$(tput sgr0)
    #Check OS Type
        OS=$(uname -o)
        echo -e 'E[36m' "Operating System Type :" $Reset_terminal $OS
    #Check OS Realease Version And Name
        OS_name=$(cat /etc/issue | grep "Server")
        echo -e 'E[36m' "Operating System Realease Version :" $Reset_terminal $OS_name
    #Check Architecture
        Architecture=$(uname -m)
        echo -e 'E[36m' "Operating System Architecture :" $Reset_terminal $Architecture
    #Check Kernel Realease
        Kernel_Realease=$(uname -r)
        echo -e 'E[36m' "Operating System Kernel Realease :" $Reset_terminal $Kernel_Realease
    #Check Hostname
        Hostname=$(hostname)
        echo -e 'E[36m' "Operating System Hostname :" $Reset_terminal $Hostname
    #Check Internal IP
        Internal_IP=$(hostname -I)
        echo -e 'E[36m' "Operating System Internal IP :" $Reset_terminal $Internal_IP
    #Check External IP
        External_IP=$(curl -s http://ipecho.net/plain)
        echo -e 'E[36m' "Operating System External IP :" $Reset_terminal $External_IP
    #Check DNS
        DNS=$(cat /etc/resolv.conf | grep "/<nameserver[ ]+"|awk '{print $NF}')
        echo -e 'E[36m' "Operating System DNS :" $Reset_terminal $DNS
    #Check if connected To Internet Or Not
        ping -c2 www.baidu.com &>/dev/null && echo -e 'E[36m' "Internet : Connected" || echo 'E[36m' "Internet : Failed"
    #Check Logged In Users
        who > /tmp/who
        echo -e 'E[36m' "Operating System Lgged In Users :" $Reset_terminal && cat /tmp/who
        rm -f /tmp/who
    #Check OS Memory Userages
        echo -e 'E[36m' "Operating System Memory Userages :" $Reset_terminal $(cat /proc/meminfo | awk '/^MemTotal/{MemTotal=$2}/^MemFree/{MemFree=$2}END {print (MemTotal-MemFree)/1024,"M"}')
    #Check App  Memory Userages
        echo -e 'E[36m' "App Memory Userages :" $Reset_terminal $(cat /proc/meminfo | awk '/^MemTotal/{MemTotal=$2}/^MemFree/{MemFree=$2}/^Buffers/{Buffers=$2}/^Cached/{Cached=$2}END {print (MemTotal-MemFree-Buffers-Cached)/1024,"M"}')
    #Check OS Loadaverage
        echo -e 'E[36m' "Operating System Loadaverage :" $Reset_terminal $(top -n1b | grep "load average" | awk '{print $(NF-2) $(NF-1) $NF}')
    #Check OS Diskaverage
        echo -e 'E[36m' "Operating System Diskaverage :" $Reset_terminal $(df -hP | grep -vE "%%|tmpfs" | awk '{print $1,$5}')
    #Check OS Runtime
        echo -e 'E[36m' "Operating System Runtime :" $Reset_terminal $(top -n1b | grep "load average" | awk -F"[ ,]+" '{print $5}')
    fi
  • 相关阅读:
    猪猪的机器学习笔记(八)聚类
    猪猪的机器学习笔记(七)最大熵模型
    猪猪的机器学习笔记(九)推荐系统
    标签button:点击button按钮时,出现了页面自动刷新的情况
    SQL案例
    SQL学习记录:函数(二)
    SQL学习记录:定义(一)
    C# 后台报错输出到日志
    DateTime 时间类型总结(前端)
    笛卡尔积的使用
  • 原文地址:https://www.cnblogs.com/foxsir/p/5371558.html
Copyright © 2011-2022 走看看