bash脚本怎么监控cup/内存/磁盘使用率
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"bash脚本怎么监控cup/内存/磁盘使用率",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"bash脚本怎么监控cup/内存/磁盘使用率"
千家信息网最后更新 2026年11月03日bash脚本怎么监控cup/内存/磁盘使用率
本篇内容主要讲解"bash脚本怎么监控cup/内存/磁盘使用率",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"bash脚本怎么监控cup/内存/磁盘使用率"吧!
目录
查看消耗内存最多的前40个进程:
自动任务做一个基础资源告警脚本
利用free工具监控内存利用率,超过80报警并提取出占用内存最高的前十进程。
利用df命令监控磁盘利用率,超过80报警。
#!/bin/bash#获取内存情况mem_total=`free | awk 'NR==2{print $2}'` #获取内存总大小mem_use=`free | awk 'NR==2{print $3}'` #获取内存使用大小#统计内存使用率 (使用大小/总大小)mem_use_rate=`awk 'BEGIN{print('$mem_use'/'$mem_total')*100}'| awk '{print int($0)}'`#echo $mem_use_rate ----------#获取磁盘使用率disk_use_rate_str=`df -h | grep /dev/vda1 | awk -F '[ %]+' '{print $5}'| awk '{print int($0)}'`#获取cpu使用率cpu_use_rate=`top -n 1 | grep Cpu |awk '{print $2}'| awk '{print int($0)}'`#报警时间file_log=/home/error.log #提前创建now_time=`date '+%F %T'`function send_mail(){}function check(){ if [[ "men_use_rate" > 50 ]] || [[ "disk_use_rate" > 50 ]] || [[ "cpu_use_rate" > 50 ]];then echo "报警时间:"$now_time > $file_log echo "cpu使用率:${cpu_use_rate}% --> 磁盘使用率:${disk_use_rate}% --> 内存使用率:${men_use_rate}%" send_mail fi}function main(){ check}main注: awk '{print int($0)}'
可以将浮点数转为整数 在进行比较大小 shell 不支持浮点直接与整数进行比较
需要用的bc 的计算方式
if [[ "men_use_rate" > 50 ]] 等同于 if [ $men_use_rate > 50 ]
bc 例:
#!/bin/bashvar1=20var2=3.14159var3=`echo "scale=0;$var2 - $var1 " | bc`echo $var3var4=`echo "$var1 < $var2"|bc`echo $var4
查看消耗内存最多的前40个进程:
ps auxw|head -1;ps auxw|sort -rn -k4|head -40
自动任务做一个基础资源告警脚本
#!/bin/bashnow=`date -u -d"+8 hour" +'%Y-%m-%d %H:%M:%S'`#cpu使用阈值cpu_warn='85'#mem空闲阈值mem_warn='1000'#disk使用阈值disk_warn='90'#---cpuitem_cpu () {cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}'|cut -f 1 -d "."`cpu_use=`expr 100 - $cpu_idle`echo "$now 当前cpu使用率为 $cpu_use" >> /tmp/monitoring.logif [ $cpu_use -gt $cpu_warn ] then echo "cpu warning!!!" else echo "cpu ok!!!"fi}#---memitem_mem () {#MB为单位mem_free=`free -m | grep "Mem" | awk '{print $4+$6}'`echo "$now 当前内存剩余空间为 ${mem_free}MB" >> /tmp/monitoring.logif [ $mem_free -lt $mem_warn ] then echo "mem warning!!!" else echo "mem ok!!!" fi}#---diskitem_disk () {disk_use=`df -P | grep /dev/vda2 | grep -v -E '(tmp|boot)' | awk '{print $5}' | cut -f 1 -d "%"`echo "$now 当前磁盘使用率为 $disk_use" >> /tmp/monitoring.logif [ $disk_use -gt $disk_warn ] then echo "disk warning!!!" else echo "disk ok!!!" fi}item_cpuitem_memitem_disk利用free工具监控内存利用率,超过80报警并提取出占用内存最高的前十进程。
代码如下:
#!/bin/bash#total=$(free -m | sed -n '2p' | awk '{print $2}')used=$(free -m | sed -n '2p' | awk '{print $3}')free=$(free -m | sed -n '2p' | awk '{print $4}')shared=$(free -m | sed -n '2p' | awk '{print $5}')buff=$(free -m | sed -n '2p' | awk '{print $6}')cached=$(free -m | sed -n '2p' | awk '{print $7}')rate=`echo "scale=2;$used/$total" | bc | awk -F. '{print $2}'`echo -e "total\tused\tfree\tshared\tbuffer\tavailable"echo -e "${total}M\t${used}M\t${free}M\t${shared}M\t${buff}M\t${cached}M\nrate:${rate}%"if [ $rate -ge 80 ]then echo "Memory Warn" ps aux | grep -v USER | sort -rn -k4 | headfi利用df命令监控磁盘利用率,超过80报警。
df :显示磁盘分区上的可使用的磁盘空间。
-h 以更易读的方式显示;
-P 使用POSIX的输出格式。
#!/bin/bash#DEV=`df -hP | grep '^/dev/*' | cut -d' ' -f1 | sort`for I in $DEVdo dev=`df -Ph | grep $I | awk '{print $1}'`size=`df -Ph | grep $I | awk '{print $2}'`used=`df -Ph | grep $I | awk '{print $3}'`free=`df -Ph | grep $I | awk '{print $4}'`rate=`df -Ph | grep $I | awk '{print $5}'`mount=`df -Ph | grep $I | awk '{print $6}'`echo -e "$I:\tsize:$size\tused:$used\tfree:$free\trate:$rate\tmount:$mount"F=`echo $rate | awk -F% '{print $1}'`if [ $F -ge 80 ];then echo "$mount Warn" else echo "It's OK"fidone到此,相信大家对"bash脚本怎么监控cup/内存/磁盘使用率"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内存
使用率
磁盘
监控
报警
脚本
大小
利用率
进程
阈值
最高
任务
内容
命令
基础
工具
整数
方式
时间
空间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司经营范围
疫情对互联网科技公司影响
科技互联网技术
善班互联网科技
贷财互联网科技
科技互联网公司logo
广西互联网科技公司
天下捷融互联网科技
一五八零互联网科技
天速互联网络科技有限公司
互联网科技有哪些公司
阿大互联网科技有限公司
明优互联网科技有限公司
工业互联网山东科技大学
城市宝互联网科技有限公司
领航科技大厦互联网公司
广州有谷有贝互联网科技有限公司
全球科技与互联网公司市值变化
吉林省码上互联网科技电话
小牛互联网科技有限公司地址
互联网电商科技
中正互联网科技招聘
顶级互联网科技成果有哪些
黑科技闪耀互联网之光
互联网科技扶贫时间
中国科技创新与世界互联网大会
产业互联网科技服务公司
广州有谷有贝互联网科技有限公司
青岛易易互联网科技
前海云享互联网科技