linux - 比较磁盘分区中的两个值,发送 80% 阈值的警报

标签 linux unix ubuntu storage diskspace

需要发送一个警报来比较所有分区的磁盘空间的两个值 它应该检查 SIZE 和 USED 值并比较值确保不超过 80%

Filesystem             Size   Used  Avail  Mounted
/dev/sda1              9,9G   3,3G   6,1G  /
none                    17G   213k    17G  /dev
none                    17G      0    17G  /dev/shm
none                    17G   103k    17G  /var/run
none                    17G      0    17G  /var/lock
none                   9,9G   3,3G   6,1G  /var/lib/ureadahead/debugfs
/dev/sda2               64G    17G    48G  /usr/local
/dev/md0               147G    43G   105G  /mnt
/dev/sde1              400G   203G   198G  /mnt/usbdisk

eg:/dev/sda1 已用空间为 3,3GB 不应达到 80%,如果达到则应该发送邮件。

最佳答案

这是我几年前编写的一个 awk 脚本,用于执行此操作。只需将其放入 cron 中即可按指定的时间表运行。

#!/bin/sh

/bin/df | \

/usr/bin/awk '{if($5 ~ "%" && $6 !~ "proc") {used=$5} else {used=""}; \
              sub(/%/, "", used); \

              if(used > 80) print $6 " is at " used"%"}' |\
                  mail -s "Disk usage over limit" user@domain.com

关于linux - 比较磁盘分区中的两个值,发送 80% 阈值的警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737383/

相关文章:

python - 如何使用 opencv 和 python 获取 Gstreamer 直播流?

r - 将可用系统内存分配给 R 中的变量的更好方法?

linux - 谁为 ext4 创建/编写了 ext4lazyinit?

linux - 如何让 CMake 识别我安装了 QT5? (构建 vktraceviewer)

linux - 从 csv 文件中删除非 ascii 特殊字符

matlab - Mac OS X 上库的回滚兼容版本

c - 在 linux 中从 C 文件生成汇编代码

linux - 在文件名(模式)之后列出文件夹中的文件 - Linux

ubuntu - 在 ubuntu 服务器上设置 nginx proxy_pass

linux - ubuntu中libaio包的用途是什么