From 2180265d4cfdb84ffe02eae49f1db31a4e6eae44 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Sat, 12 Apr 2025 12:48:22 +0000 Subject: [PATCH] Add disk-warn.sh --- disk-warn.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 disk-warn.sh diff --git a/disk-warn.sh b/disk-warn.sh new file mode 100644 index 0000000..10d2040 --- /dev/null +++ b/disk-warn.sh @@ -0,0 +1,28 @@ +#!/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"Jellyfin" "$ADMIN" + fi + else + if test -f "./$lockname.lock"; then rm "./$lockname.lock" + fi + fi +done \ No newline at end of file