shell 脚本监控系统内存占用率、主备机等

运行结果

shell 脚本实现

#!/bin/sh

##########################################################

#作者:LINU_BW

#时间:2016-10-28

#功能:监控服务器系统IP cpu 内存 磁盘 主备

#

##########################################################

HOSTNAME=/bin/hostname

DATE=/bin/date

IFCONFIG=/sbin/ifconfig

TOP=/usr/bin/top

DF=/bin/df

FREE=/usr/bin/free

W=/usr/bin/w

SSH=/usr/bin/ssh

EGREP=/bin/egrep

SED=/bin/sed

AWK=/bin/awk

CUT=/bin/cut

CAT=/bin/cat

WC=/usr/bin/wc

#sed后向引用取出IP

IP=$(${IFCONFIG}|${EGREP} "eth|inet addr:"|${SED} -r "s#(Link.*)|(^[ \t]*)##g"|${SED} '/127/d'|${SED} "s#Bcast:.*##g")

BCAST=$(${IFCONFIG}|${SED} -n 2p|${AWK} -F " " '{print $3}')

MASK=$(${IFCONFIG}|${SED} -n 2p|${AWK} -F " " '{print $4}')

LAVERAGE=$(${W}|${SED} -n 1p|${CUT} -d ',' -f 3-|${SED} 's#^[ ]*##g')

CPUS=$(${TOP} -bn1|${AWK} -F "," 'NR==3 {print $1}'|${SED} "s#us##g") #得到cpu使用率top -bn1 静态显示所有的进程

#*********************AWK计算内存占用率*************************

MEMTotal=$(${FREE} -m|${EGREP} "Mem"|${AWK} '{print $2}')

MEMUsed=$(${FREE} -m|${EGREP} "Mem"|${AWK} '{print $3}')

MEMUsage=$(${AWK} 'BEGIN{printf"%.0f\n",('$MEMUsed'/'$MEMTotal')*100}')

DFH=`${DF} -h`

#*************************判断主备用**************************

#*服务器里设置虚拟IP地址(VIP) (eth0:0)通过此条件判断

#****************************************************************

IFCETH=$(${IFCONFIG}|${EGREP} "eth.:."|${WC} -l)

SYSSTATE="主用"

[ ${IFCETH} -gt 0 ] || SYSSTATE="备用"

echo " "

#echo "********************************************"

#echo "*                                          *"

#echo "*             系统基本信息监控             *"

#echo "*                                          *"

#echo "********************************************"

echo "主机名: $(${HOSTNAME})机 ${SYSSTATE}"

echo "系统日期: $(${DATE} +"%F %A %r")"

echo "******************相关IP信息****************"

echo "$IP"

echo " "

echo "$BCAST"

echo "$MASK"

echo "***********CPU 负载均衡 内存****************"

echo "负载均衡:$LAVERAGE "

echo "Cpu使用率:$CPUS (正常范围:小于30%)"

echo "内存使用率:Mem  $MEMUsage%     (正常范围:小于70%)"

echo "********磁盘使用情况(正常范围:小于70%)******"

echo "$DFH"

echo " "

echo "********************END*********************"

echo " "

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统巡检脚本:Version 2016.08.09 ############################ 系统...
    NamasAmitabha阅读 1,356评论 0 0
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,592评论 0 0
  • 什么是运维 术语名词 IDC--(Internet Data Center)互联网数据中心,主要服务包括整机租用、...
    lyh165阅读 2,754评论 0 19
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • 亲爱的你,你的信和许多人不一样,你的信无关爱情,也和学业事业没有具体的联系。于是第一次要聊一聊人生的处境。...
    5ec3da9564f7阅读 220评论 0 3