shell编程中为何监控磁盘分区的使用,如何操作
Admin 2022-05-19 群英技术资讯 1283 次浏览
这篇文章给大家分享的是“shell编程中为何监控磁盘分区的使用,如何操作”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。当然我们是不希望发生此类问题的,如果网站总出现不稳定或打不开情况,会给用户一种不靠谱的感觉。所以,对于磁盘分区的使用,我们需要实时监控,当超过预设值时,就发送份邮件或短信给管理员,将错误扼杀至摇篮里。
对于此脚本的编写是很简单的,主要一点就是获取到磁盘分区的使用率。我们知道df命令可以列出各个分区的空间使用情况:
# df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 3986648 0 3986648 0% /dev tmpfs 3999984 0 3999984 0% /dev/shm tmpfs 3999984 528 3999456 1% /run tmpfs 3999984 0 3999984 0% /sys/fs/cgroup /dev/vda1 41931756 17576208 24355548 42% / /dev/vdb1 52403200 476572 51926628 1% /data /dev/vdb2 104806400 29255772 75550628 28% /www tmpfs 799996 0 799996 0% /run/user/0 /dev/vdb3 52402180 398576 52003604 1% /mnt
我们可以看到各个分区的空间使用情况。然后接口grep命令以及awk命令,过滤掉其他信息,只留下各个分区的使用情况信息。
我们只想得到以/dev/开头的分区信息
# df | grep ^/dev /dev/vda1 41931756 17576264 24355492 42% / /dev/vdb1 52403200 476572 51926628 1% /data /dev/vdb2 104806400 29255980 75550420 28% /www /dev/vdb3 52402180 398576 52003604 1% /mnt
然后继续使用awk命令过滤不想要的信息
# df | grep ^/dev | awk '{print $1":"$5}'
/dev/vda1:42%
/dev/vdb1:1%
/dev/vdb2:28%
/dev/vdb3:1%拿到各个分区的使用率后,下面就是对其进行循环遍历,依次判断各个分区的使用情况。
下面给出完成的代码:
#!/bin/bash
# 监控分区的空间使用情况,超过预设值告警
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:~/bin
export LANG=en
# 分区空间使用率阀值
USE_LIM=70
while ((1))
do
disks=$( df | grep ^/dev | awk '{print $1":"$5}')
for disk in $disks
do
used=$(echo $disk | cut -d: -f2 | cut -d'%' -f1)
if [ "$used" -ge "$USE_LIM" ];then
# 调用告警脚本,这里直接用echo来替代了
echo "$(echo $disk | cut -d: -f1) is used $used%"
fi
done
sleep 10
done注意:一般我们服务器上用的语系都是英文的,特别是在编写shell脚本的时候,建议加上这样一行
export LANG=en
因为我们是要做实时的监控,所以脚本里使用了死循环,表示此脚本不会停会一直循环执行。当然,执行速度也是要做限制的,不然占用太多服务器资源就不太好了。所以这里使用了sleep 10,表示10秒监控一次。
另外这里还要一点需要注意,就是过滤掉百分号%。这里我们使用了cut命令来过滤掉%,然后拿到纯数字型的分区使用率和预设值做比较。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux可以运行两个tomcat。运行方法:1、利用“vim /etc/profile”命令写入环境变量,并利用“source /etc/profile”使配置生效;2、修改“apache-tomcat-10.0.12/conf”目录下的“server.xml”文件;3、修改两个“tomcat/bin”目录下的“startup.sh”与“shutdown.sh”文件即可。
linux下如何安装mysql?mysql是比较常用的数据库,linux下安装mysql有两种方法,一种是通过源码自行编译安装,另一种是使用RPM或其他包进行安装,那么具体怎样操作呢?接下来我们详细的了解看看。
是的,crontab是linux系统下自带的定时任务工具,用户可以使用crontab工具来定制自己的计划任务。通过crontab命令,用户可以在固定的间隔时间执行指定的系统指令或shell脚本,语法“crontab [-u user] file”或“crontab [-u user] [-e|-l|-r]”;时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
有朋友可能会遇到一些安装问题,比如当服务器不能支持mysql数据库怎么办?对于这个问题,小编整理了以下相关资料,有需要的朋友可以自行阅读。
有时候我们想要恢复删除的文件,那么具体要怎样做呢?下面小编就给大家分享一下linux下恢复删除的文件的方法及步骤,有需要的朋友可以参考,下面我们一起来了解看看。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008