使用shell脚本查询服务器的CPU内存磁盘分区的使用率

4次阅读

共计 943 个字符,预计需要花费 3 分钟才能阅读完成。

前言:

本文将编写一个 shell 脚本来查询Linux 服务器的 CPU、内存、磁盘分区的使用率;shell 脚本其实就是由基本的 shell 命令组合成的,所以在编写 shell 脚本时,需要对常用的命令要知道,如果不是很清楚的话,可以参考这篇文章:Linux 学习一:常用的基础 Linux 命令。

脚本:

#!/bin/bash
#计算 cpu 使用率, -n number:指定在结束前应该产生的最大迭代次数或帧数, 一般迭代次数越大,获取到的 cpu 使用率越准确; 本脚本中是迭代了 5 次,"-n5" 
cpu=`top -b -n5 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' '{split($1, vs,","); v=vs[length(vs)]; sub(/\s+/,"", v);sub(/\s+/, "", v); printf"%d", 100-v;}'`
echo $cpu'%'
 
#统计内存使用率
mem_used_persent=`free -m | awk -F '[:]+' 'NR==2{printf"%d", ($3)/$2*100}'`
# - e 参数是使 "\n" 换行符生效进行输出换行的
echo -e $mem_used_persent'%\n'
 
#统计分区使用情况,df - P 参数可以防止打印输出的内容换行
df -THP | awk -F '[]+' 'NR!=1{print $1","$6}'

运行:

编写好脚本后运行,会等到如下的输出结果:

12%
37%

/dev/mapper/vg_minghui-lv_root,25%
tmpfs,1%
/dev/sda1,10%
/dev/sr0,100%

前两行的内容:12%:cpu 的使用率;37%:内存的使用率;

后面四行的内容:每个磁盘分区的使用率,磁盘分区名称和其使用率之间用 英文逗号 隔开。

提示:

在脚本编写好,且运行前,可以先使用命令 bash -n .sh 判断下脚本是否存在语法错误,如果存在语法错误的话,再使用命令 bash -x .sh 一步步执行脚本看下到底哪个地方存在语法错误。

❤不要忘记留下你学习的足迹 [点赞 + 收藏 + 评论]嘿嘿ヾ

一切看文章不点赞都是“耍流氓”,嘿嘿ヾ (◍°∇°◍)ノ゙!开个玩笑,动一动你的小手,点赞就完事了,你每个人出一份力量(点赞 + 评论) 就会让更多的学习者加入进来!非常感谢!~ω~=

正文完
 0