Hi,
I have written below disk space monitoring script to monitor disk space every minute. I have scheduled this script through cron. But now my problem is this script alerts the users continuously until the space is freed up. These emails are filling up the inbox exponentially until the space has been freed up. Please let me know how to stop sending the email alerts after 5 times and check for next day if the space is not freed up, then repeat the process.
. /home/.profile
# Get the list of Integration Service
infacmd.sh listservices -dn $INFA_DOMAIN -un Administrator -st IS | sed '$d' > $scripts_path/temp_ds.txt
while read line
do
ISDir=$(grep $line < $scripts_path/integration_services.txt | awk '{print$2}')
echo "Integration Service path:"$ISDir
disk_limit=$(grep $line < $scripts_path/integration_services.txt | awk '{print$3}')
echo " "
echo "Defined threshold limit for file system of data directory ${ISDir} is ${disk_limit}."
echo " "
df -k ${ISDir}
total_disk=`df -k ${ISDir}|tail -1|tr -s ' ' ' '|cut -f2 -d " "`;export total_disk
available_disk=`df -k ${ISDir}|tail -1|tr -s ' ' ' '|cut -f3 -d " "`;export available_disk
disk_percent_used=`df -k ${ISDir}|tail -1|tr -s ' ' ' '|cut -f4 -d " "`;export disk_percent_used
used_disk=`expr ${total_disk} - ${available_disk}`
mounted_file_system=`df -k ${ISDir}|tail -1|tr -s ' ' ' '|cut -f7 -d " "`;export mounted_file_system
if [ ${used_disk} -ge ${disk_limit} ];
then
echo " "
echo "WARNING:"
echo "Available disk space of file system ${mounted_file_system} for Integration Service directory ${ISDir}"
echo "is ${used_disk} Kbytes which is greater than the defined threshold limit of ${disk_limit} Kbytes."
echo " "
echo "Please increase size of file system ${mounted_file_system} for PowerCenter Integration Service Directory ${ISDir} before"
echo "Informatica file system runs out disk space otherwise Informatica PowerCenter operations may be compromised."
#Notification module
echo "WARNING: ${ISDir} filesystem has exceeded their upper limit. Available disk space of file system ${mounted_file_system} for data directory ${ISDir} is ${av
ailable_disk} Kbytes which is greater than the defined threshold limit of ${disk_limit} Kbytes. Please increase size of file system ${mounted_file_system} for PowerCenter Integr
ation Service Directory ${ISDir} before Informatica file system runs out of disk space otherwise Informatica PowerCenter operations may be compromised."|mailx -s "Email notifica
tion of Integration Service directory exceeding defined threshold" ${alertlist}
echo " "
echo "Note: Email notification of Integration Service direcroty exceeding defined threshold"
echo "was sent to ${alertlist}"
fi
done < $scripts_path/temp_ds.txt
rm $scripts_path/temp_ds.txt
Regards,
Sam