shell编程实战之监控磁盘分区的使用率


当前第2页 返回上一页

下面给出完成的代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#!/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脚本的时候,建议加上这样一行

1

export LANG=en

因为我们是要做实时的监控,所以脚本里使用了死循环,表示此脚本不会停会一直循环执行。当然,执行速度也是要做限制的,不然占用太多服务器资源就不太好了。所以这里使用了sleep 10,表示10秒监控一次。

另外这里还要一点需要注意,就是过滤掉百分号%。这里我们使用了cut命令来过滤掉%,然后拿到纯数字型的分区使用率和预设值做比较。

以上就是shell编程实战之监控磁盘分区的使用率的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

shell脚本命令示例

shell--标准输入输出(read&echo)

linux终端执行shell脚本时提示权限不足

详细讲解linux shell中的printf的用法

总结shell中的特殊字符

shell编程实战之内存检查超过设定值杀死php-fpm进程

shell脚本命令示例

linux中bash是什么意思?

bash shell:测试文件或目录是否存在

有关linux中shell内置判断语句的介绍

更多相关阅读请进入《shell》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...