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

Send alert for 80% threshold comparing two values from Disk partition

需要发送警报,比较所有分区的磁盘 space 的两个值 它应该检查 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 used space is 3,3GB should not reach 80%, if reached then send mail.

这是我多年前写的一个 awk 脚本来做这件事。只需按指定的时间表将其放入 运行 的 cron 即可。

#!/bin/sh

/bin/df | \

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

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