#!/usr/bin/env bash # usage usage() { USAGE=$(cat < /dev/null || { echo "Requiring 'hostname' but it's not installed"; exit 1; } type df &> /dev/null || { echo "Requiring 'df' but it's not installed"; exit 1; } } # apply defaults DISK_SPACE_ALERT_THRESHOLD=93 DISK_SPACE_ALERT_MOUNTPOINTS=("/") source_config "$HOME/.disk_space_alert.conf" "/etc/disk_space_alert.conf" check_required # do not touch below HOSTNAME=$(hostname) for point in "${DISK_SPACE_ALERT_MOUNTPOINTS[@]}" do CURRENT=$(df "$point" | grep "$point" | awk '{ print $5}' | sed 's/%//g') CURRENT_SPACE=$(df "$point" | grep "$point" | awk '{ print $5}' | sed 's/%//g') CURRENT_INODES=$(df -i "$point" | grep "$point" | awk '{ print $5}' | sed 's/%//g') if [ "$CURRENT" -gt "$DISK_SPACE_ALERT_THRESHOLD" ] ; then SUBJECT="[disk $HOSTNAME] $point" MESSAGE=$(cat <