shell脚本获取cpu、内存、磁盘使用率

1、获取cpu使用率脚本

#!/bin/sh
#
#脚本功能描述:依据/proc/stat文件获取并计算CPU使用率
#
#CPU时间计算公式:CPU_TIME=user+system+nice+idle+iowait+irq+softirq
#CPU使用率计算公式:cpu_usage=(idle2-idle1)/(cpu2-cpu1)*100
#默认时间间隔
TIME_INTERVAL=5
time=$(date "+%Y-%m-%d %H:%M:%S")
LAST_CPU_INFO=$(cat /proc/stat | grep -w cpu | awk '{print $2,$3,$4,$5,$6,$7,$8}')
LAST_SYS_IDLE=$(echo $LAST_CPU_INFO | awk '{print $4}')
LAST_TOTAL_CPU_T=$(echo $LAST_CPU_INFO | awk '{print $1+$2+$3+$4+$5+$6+$7}')
sleep ${TIME_INTERVAL}
NEXT_CPU_INFO=$(cat /proc/stat | grep -w cpu | awk '{print $2,$3,$4,$5,$6,$7,$8}')
NEXT_SYS_IDLE=$(echo $NEXT_CPU_INFO | awk '{print $4}')
NEXT_TOTAL_CPU_T=$(echo $NEXT_CPU_INFO | awk '{print $1+$2+$3+$4+$5+$6+$7}')

#系统空闲时间
SYSTEM_IDLE=`echo ${NEXT_SYS_IDLE} ${LAST_SYS_IDLE} | awk '{print $1-$2}'`
#CPU总时间
TOTAL_TIME=`echo ${NEXT_TOTAL_CPU_T} ${LAST_TOTAL_CPU_T} | awk '{print $1-$2}'`
CPU_USAGE=`echo ${SYSTEM_IDLE} ${TOTAL_TIME} | awk '{printf "%.2f", 100-$1/$2*100}'`
echo "CPU Usage:${CPU_USAGE}%"$time

cpu=`echo "$CPU_USAGE" | cut -d "." -f 1`
if [ $cpu -gt 80 ]
then
    echo "警告,您当前CPU使用率${CPU_USAGE}%,已严重超标"$time | mail -s "Title" 2161476682@qq.com  #此处为发送邮件地址
else

2、shell脚本获取内存使用率

#!/bin/bash

#获取内存使用率的脚本

#2022/7/14

time=$(date "+%Y-%m-%d %H:%M:%S")
memoryUsed=`free -m | sed -n '2p' | awk '{printf "%f\n",($3)/$2*100}'`

echo "memory USE:${memoryUsed}% ${time}"
memory=`echo "$memoryUsed" | cut -d "." -f 1`
if [ $memory -gt 5 ]
then
    echo "警告,您当前CPU使用率${memoryUsed}%,已严重超标"$time | mail -s "Error" 2161476682@qq.com
else
    exit
fi

3、shell脚本获取磁盘使用率

#!/bin/bash

#获取磁盘使用率脚本
#2022/7/14

time=$(date "+%Y-%m-%d %H:%M:%S")
diskUsage=`df -h | sed -n '2p' | awk '{print $5}'`
disk=`echo "$diskUsage" | cut -d "%" -f 1`
echo "$disk"
if [ $disk -gt 10 ]   #此处10可更改大小
then
     echo "警告,您当前磁盘使用率${disk}%,已严重超标"$time | mail -s "Error" 2161476682@qq.com
else
    exit
fi

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值