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

运行结果

shell 脚本监控系统内存占用率、主备机等_第1张图片

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 " "

你可能感兴趣的:(shell 脚本监控系统内存占用率、主备机等)