#!/bin/bash
DISKUSAGE=$(df -h | awk -F " " '/%/{print $(NF-1)}'|sort -n -r|sed -n '1s/[^0-9]//p')
DIR=$(df -h |awk -F " " '{print $(NF-1),$NF}' |sort -nr|awk -F " " 'NR==1 {print $2}')
DT="${WEEKDAYS[$WEEKDAY]} $(date "+%h %d %Y")"
NUM=80
HOST=$(hostname)
function Disk_Mail {
(
echo $(date +"%y-%m-%d %H:%M:%S")
echo "$HOST disk usage report email"
echo ""
echo "mail from:<wonderjjm@gmail.com>"
echo "rcpt to:<wonderjjm@gmail.com>"
echo "Subject:Warning! Disk directory $DIR is almost full"
echo "Content:$HOST disk directory $DIR is $DISKUSAGE%"
echo ""
echo "The disk usage list is: "
df -h | awk -F " " '/[0-9]%/{print $(NF-1),$NF}' | sort -nr
echo ""
echo "the automatic cleanup job is triggered, please have a double check!"
) }
if [ $DISKUSAGE -ge $NUM ] ;
then
mailsubject=$(Disk_Mail | grep Subject | awk -F ":" '{print $2}')
Disk_Mail | mail -s "$mailsubject" wonderjjm@gmail.com
/home/oracle/scripts/call/disk_purge.sh
echo "$DT: warning!! disk usage alert message is sent"
fi
echo $(date +"%y-%m-%d %H:%M:%S")
echo "Disk usage check finished"
echo $(date +"%y-%m-%d %H:%M:%S")