Email alert when hard disk is full in linux
Most of times i will be facing mysql database crash error due to my hard disk out of space , Because of huge call Recordings in vicidial or goautodial server.
so i decided to have a alert via email when my harddisk space reaches 90% .
Below is the script i used to get email alert when my hard disk reaches 90% full
thanks to : http://www.cyberciti.biz/
*******************************
Step 1: Create a bash script file
*******************************
vi /usr/share/diskspacealert.sh
*******************************
Step 2 : paste the below script
*******************************
#!/bin/sh
# refered http://www.cyberciti.biz/tips/shell-script-to-watch-the-disk-space.html
# enter your mailed below for email alert
ADMIN="admin123@gmail.com"
# set alert level 90% is default
ALERT=90
df -HP | grep -vE '^Filesystem|tmpfs|cdrom' |
while read partition size used free perc mnt ;
do
usep=$(echo $perc | tr -d '%' )
if [ $usep -ge $ALERT ]; then
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as
on $(date)" |
mail -s "Alert: Almost out of disk space - $usep%" $ADMIN
fi
done
Note *** change the admin123@gmail.com to your mail id to which you want email alert
*******************************
Step 3 : make the script executable
*******************************
chmod 755 /usr/share/diskspacealert.sh
*******************************
Step 4 : scheduling the scrip to run every day
*******************************
Setpup a cronjob daily morning or whatever time you wish check the below link for cronjob turorial
http://swanand18.blogspot.in/2015/04/cronjob-tutorial-how-to-cronjob.html
type crontab -e in the linux shell
then add the below line
0 10 * * * /usr/share/diskspacealert.sh
this will run the script every day 10 am
Note : ***
you must have installed and configured
Sendmail
mailx