disk-warn-script/disk-warn.sh
2025-04-12 13:41:11 +00:00

28 lines
No EOL
891 B
Bash

#!/bin/bash
# Purpose: Monitor Linux disk space and send an email alert to $ADMIN
#ALERT=90 # alert level
ALERT=90
ADMIN="neshura@neshweb.net" # dev/sysadmin email ID
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read -r output;
do
echo "$output"
usep=$(echo "$output" | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo "$output" | awk '{ print $2 }' )
lockname=$(echo $partition | tr / _);
if [ $usep -ge $ALERT ]; then
if test -f "./$lockname.lock";
then echo "Found lockfile - Cancel mail";
else
touch "./$lockname.lock"
{
echo "TO: $ADMIN"
echo "Subject: Alert: Disk spage usage at $usep%/$ALERT%"
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)"
} |
ssmtp -F"FROMNAME" "$ADMIN"
fi
else
if test -f "./$lockname.lock"; then rm "./$lockname.lock"
fi
fi
done