Please help - disk space check script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Please help - disk space check script
# 1  
Old 05-08-2008
Please help - disk space check script

I have a disk space check script that uses an exceptions file, the only issue with the script is that it does not work with values higher than the FSMAX=85 value. I have a file system that is at 92% and it doesn't change, so I would like to add it to the exceptions file. The exceptions file format is

/usr 92%

Below is the script, anyone know what I'm doing wrong?

========================================================

#!/usr/bin/ksh
#
#
#
##### DEFINE FILES AND VARIABLES HERE ####
FSMAX="85" # Max. FS percentage value
WORKFILE="/tmp/df.work" # Holds filesystem data
>$WORKFILE # Initialize to empty
OUTFILE="/tmp/df.outfile" # Output display file
>$OUTFILE # Initialize to empty
BINDIR="/operator" # Local directory
THISHOST=`hostname` # Hostname of this machine
EXCEPTIONS="${BINDIR}/exceptions" # Overrides $FSMAX
DATA_EXCEPTIONS="/tmp/dfdata.out" # Exceptions file w/o #, comments

####### DEFINE FUNCTIONS HERE #####

function load_EXCEPTIONS_file
{

# Ignore any line that begins with a pound sign, #
cat $EXCEPTIONS | grep -v "^#" | sed /^$/d > $DATA_EXCEPTIONS
}

###################################

function check_exceptions
{
while read FSNAME NEW_MAX # Feeding data from Bottom of Loop!!!
do
if [[ $FSNAME = $FSMOUNT ]] # Correct /mount_point?
then # Get rid of the % sign, if it exists!
NEW_MAX=$(echo $NEW_MAX | sed s/\%//g)

if [ $FSVALUE -gt $NEW_MAX ]
then # Over Limit...Return a "0", zero
return 0 # FOUND OUT OF LIMITS - Return 0
fi
fi
done < $DATA_EXCEPTIONS # Feed from the bottom of the loop!!

return 1 # Not found in File
}

#############################################
######## START OF MAIN #############
####################################

# If there is an exceptions file...load it...

[[ -s $EXCEPTIONS ]] && load_EXCEPTIONS_file

df -k | tail +2 | egrep -v "/dev/vx/dmp|/dev/vx/rdmp|/proc|/mnttab|/dev/fd|/var/run|sapdata" \
| awk '{print $1, $5, $6}' > $WORKFILE

# Loop through each line of the file and compare column 2
while read FSDEVICE FSVALUE FSMOUNT
do
FSVALUE=$(echo $FSVALUE | sed s/\%//g) # Remove the % sign
if [[ -s $EXCEPTIONS ]] # Do we have a non-empty file?
then

# Look for the current $FSMOUNT value in the file
# using the check_exceptions function defined above.
check_exceptions
RC=$? # Get the return code from the function
if [ $RC -eq 0 ] # Found Exceeded in Exceptions File!!
then
echo "$FSDEVICE mounted on $FSMOUNT is ${FSVALUE}%" \
>> $OUTFILE
elif [ $RC -eq 1 ] # Not found in exceptions, use defaults
then
if [ $FSVALUE -gt $FSMAX ] # Use Script Default
then
echo "$FSDEVICE mounted on $FSMOUNT is ${FSVALUE}%" \
>> $OUTFILE
fi
fi
else # No exceptions file use the script default
if [ $FSVALUE -gt $FSMAX ] # Use Script Default
then
echo "$FSDEVICE mounted on $FSMOUNT is ${FSVALUE}%" \
>> $OUTFILE
fi
fi
done < $WORKFILE # Feed the while loop from the bottom...
# Display output if anything is exceeded...

if [[ -s $OUTFILE ]]
then
echo "\nFull Filesystem(s) on ${THISHOST}\n"
cat $OUTFILE
print
fi

========================================================

Last edited by maddhadder71; 05-08-2008 at 09:31 AM.. Reason: Missing a part of the script
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Check free disk space in server

Hi, I need about 500G space in one corporate solaris server. However, I am not sure which command to use to check this. There are few volume groups in the server, and I deleted unused, old volume groups to clear some space. However, now I am not sure how to check the free space itself. ... (2 Replies)
Discussion started by: anaigini45
2 Replies

2. Shell Programming and Scripting

Check the disk space then sftp

Hi Everyone, Good Day, Seeking for your assistance to check if the disk capacity reach its usage into 70% then sftp all files in the specific folder. i know only the command df -h, but i don't know where to insert the sftp when it reach 70% Example: Directory: /appl/Files df -h varlock... (2 Replies)
Discussion started by: znesotomayor
2 Replies

3. Shell Programming and Scripting

Check disk space

I am trying a script which will alert if disk space crosses some threshold, i googled it and got some scripts already, but they are not working with my server. The problem is, my filesystem names are big, so the sizes are moving to the second line. just like below any ideas? thanks in advance... (8 Replies)
Discussion started by: karthikeayan
8 Replies

4. Homework & Coursework Questions

Looking to check disk space

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Need to check the disk space and if any portion disk space usage high then write to one file, later will... (5 Replies)
Discussion started by: Jasminshakoor
5 Replies

5. Shell Programming and Scripting

How to suppress the file name when we check for disk space

How to supress the file name when we check for disk space ? I used this command : du -ks /home/dir1/dir2/file.csv it returns 13 /home/dir1/dir2/file.csv Please explain the options too (7 Replies)
Discussion started by: arukuku
7 Replies

6. Shell Programming and Scripting

how to check disk space

Hi All, pls go thru the below code and help me. when i check "df -k" in my solaris system .. it will show like below.. fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s3 20171281 2319266 17650303 12% /var /dev/dsk/c0t0d0s4 10085260 443854... (15 Replies)
Discussion started by: steve2216
15 Replies

7. Programming

C++: how to check my directory disk space

I have a directory, and I write some files in to that. How to throw the error exception when my directory is full. i.e. there is no disk space (2 Replies)
Discussion started by: SamRoj
2 Replies

8. Solaris

Disk space check

Hi, I have a question regarding finding free space on the disk of a solaris machine. Many mount points are available in my machine. Right now i am using df -b option to get the free disk space available. I have an assignment to check free space on the disk. I pass the directory as a... (6 Replies)
Discussion started by: raghu.amilineni
6 Replies

9. Shell Programming and Scripting

Script to check top 5 biggest disk space users

Hi all, I am needing a bash shell script to generate a list of the top 5 users using the most disk space. I am thinking that the du command would be used somehow but I am at a loss. Can anyone help? Thanks! (3 Replies)
Discussion started by: sytemx
3 Replies

10. Shell Programming and Scripting

Perl script to check free disk space

hello, I have to check the free space on the disk that would work both on Windows and Unix platform e.g on C: \ for Windows and / on Unix. I could use Unix command 'df ' ( my windows system has Unix emulator cygwin and could run 'df ' as well). But I'd like not to rely on system command but... (1 Reply)
Discussion started by: susja
1 Replies
Login or Register to Ask a Question