01 前言
上一篇文章讲到了一个很经典的例子根据文件内容批量创建用户名及密码,见Linux篇:shell经典面试题根据文件创建用户名及密码
今天继续记录另外一个经典场景题目:监控磁盘使用率
02 实现过程
一般我们通过df -hl这个命令来查看磁盘的使用率,如下:
![](https://img.haomeiwen.com/i15690304/b037ebda32e162b0.png)
比如上图中的例子(我是通过vm安装的centos,只分配了20G),可以看到/dev/mapper/cl-root 磁盘挂载了用户主目录,总容量17G,已使用5.9G,使用率为35%,我们主要对35%这个数字来做监控,与设定值90%进行比较。
编写一个脚本,名为space.sh
先用awk 把命令行查看的使用率数字取出,可先在命令行做实验:
![](https://img.haomeiwen.com/i15690304/df201f5430a7324e.png)
测试成功后写入脚本
![](https://img.haomeiwen.com/i15690304/b4a2355c7371295e.png)
测试一下,看看是否成功,如果成功,应该是输出space is ok
![](https://img.haomeiwen.com/i15690304/c3b031194217a10e.png)
现实中我们可能需要监控发现异常后发邮件提醒,这里用函数来实现
![](https://img.haomeiwen.com/i15690304/2f182d67ac0f0150.png)
这里再完善一点,既然是脚本,就让他一直跑着,比如说一小时监控一次,这里用死循环来实现
![](https://img.haomeiwen.com/i15690304/c6460cb423e57941.png)
脚本就写好啦~
03 总结
这里回顾一下几个常用知识点:
3.1 函数的结构与使用:先定义,直接调用函数名即可使用
3.2 格式化输出:以cat << EOF 开头,以EOF结尾,结尾处一定要顶格写
3.3 死循环:while :
网友评论