比较磁盘分区中的两个值,发送 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
需要发送警报,比较所有分区的磁盘 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