编写脚本文件查看Linux分区使用率,超出范围并报警
2017-08-27 21:45
1061 查看
前言
Linux的字符命令界面中我们可以通过指令查看当前主机分区的使用率,并且可以当达到预设警值时通过字符终端、邮件等进行警告。主机环境:CentOS 6.8 、 VMware® Workstation 12 Pro
正文
① df 命令
使用 df 命令来检查当前linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。df -h
列出当前主机磁盘空间占用情况,其中-h选项是human的意思,意为采用人们方便阅读的形式查看,即以B,K,M,G为单位显示
② grep 命令
使用 grep 命令可以查找当前文本或文件中的目标文本。这里我们以分区sda5 分区为例df -h | grep sda5
从刚才列出的磁盘相关信息中查找出 sda5 分区的相关信息,其中“ | ”符号为管道符,可以理解为将 df -h 指令列出的文本流,通过管道流向 grep sda5 处理。grep sda5 可以查找出有关 sda5 分区的那一行的相关信息
③ awk 命令
awk 也是4000
一种处理文本文件的语言,是一个强大的文本分析工具。
之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。
df -h | grep sda5 | awk '{ print \$5 }'
有第②条命令我们筛选出了有关 sda5 分区的相关信息,并将其信息通过管道符交给 awk 命令处理。{ } 命令代码块,包含一条或多条命令;print 是 awk 打印指定内容的主要命令。print $5 即为打印该文本中的第5列文本。
④ cut 命令
cut 命令可以实现文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
df -h | grep sda5 | awk '{ print $5 }' | cut -d "%" -f 1
从第③条命令我们就已经筛选出了我们的 sda5 分区目前所占空间的比例,但是在shell编程中,文本默认都是字符串文本,而并非数值文本,故我们先把数字文本提取出来,方便之后比较。
在这条命令中我们将以 % 号为分隔符,并且输出第一列内容。根据结果可以看出输出结果为数字文本。
⑤ 判断数值并做出警告
我们可以将我们的以上的指令写入一个脚本中,如 warn.sh 脚本文件。vim warm.sh
#!/bin/bash # 脚本文件标准开头 occupy=$(df -h | grep sda5 | awk '{ print $5 }' | cut -d "%" -f 1) # 如果占用比大于90%,则报警输出警告文本 if [ "$occupy" -ge "90" ] then echo "sda5 is full" fi
chmod 755 warm.sh#设置脚本文件权限,使其可执行
./warm.sh#执行脚本文件
结果会发现并没有输出结果,那是因为我们现在 sda5 所占分区仅占16%,远未达到所设定的90%。现在我们将脚本中的判断语句改为
if [ "$occupy" -ge "10" ],即设为达到10%即报警,再次执行脚本,结果如下:
相关文章推荐
- Linux查看磁盘信息(编写shell脚本来分析文件的占用情况)
- linux查看分区,文件夹,文件大小
- linux 查看文件(夹)所在分区(挂载点)
- Linux查看分区文件系统类型的方法总结
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- shell脚本监控分区使用率,并发邮件报警
- Linux下查看分区的文件类型
- 查看linux分区文件系统类型
- linux查看分区文件系统类型
- 如何编写简单的Shell脚本(Script)文件之Linux的基本操作
- linux 查看分区和文件大小
- Linux下如何查看分区文件系统类型
- Linux查看分区文件系统类型总结
- 【Linux】使用SHELL脚本实时查看文件大小
- linux 用notepad++编写shell脚本出现/bin/sh^M: bad interpreter: 没有那个文件或目录l的解决方案
- python和shell脚本实现查看大文件指定区域范围内的文件内容
- #题目:有10 台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次
- linux环境下不同脚本文件配置的环境变量作用域范围的区别
- 编写shell脚本查看linux当前各用户的cpu和memory消耗比例
- linux——查看根分区大小,并取出根分区使用率赋值给root_disk变量。