Disk space threshold report


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Disk space threshold report
# 8  
Old 08-08-2013
Quote:
Originally Posted by Kalaihari
Hi , When i gave this code and gave cat command, i got the output like below

Code:
df -g | awk '+$4 >= 70 {print}' > report.txtif [ ! -s report.txt ]then    echo "No issues to report."else    echo "Filesystems at least 70% full"    cat report.txtfi

cat report.txt

Code:
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on

I Should not get the "Filesystem GB Blocks Free " it shoudl return the output as No issues alone. Is there any suggestions for this
your awk '+$4 >= 70 {print}' is actually looking for a value equal to or greater than 70 in column 4 of the df -g output as per your requirement ... not want the Filesystem line? just grep it out ...
Code:
df -g | awk '+$4 >= 70 {print}' | grep -v Filesystem > report.txt
if [ ! -s report.txt ]
then
    echo "No issues to report."
else
    echo "Filesystems at least 70% full"
    cat report.txt
fi

# 9  
Old 08-08-2013
Dude,

The thing is there is no threshold limit crossed , so the output for that should be "NO issues to report" . Am i right? but i got the line "Filesystem GB blocks Free %Used Iused %Iused Mounted on" instead of "No issues to report".

Advice me to get the clear output
# 10  
Old 08-08-2013
first off, assistance you receive on this website is offered by unpaid volunteers on their own time -- that includes me -- so it would be good to maintain a professional tone ...

second, your issue is that your report is empty except for the Filesystem line and i have given you the fix for it which is to grep it out (see red font in prior post) ... if you run the df -g | awk '+$4 >= 70 {print}' by itself and no filesystem is over the threshold, you will only get the Filesystem line ... if you run the same command and a filesystem reaches the threshold, the Filesystem line will get printed with the actual filesystem info that hit the threshold ...

you need to reread the script as given and test as well as understand each line before you demand help
These 3 Users Gave Thanks to Just Ice For This Post:
# 11  
Old 08-08-2013
Please pay attention to what somebody posts.

Just Ice has piped the output to grep to exclude header line.

Another option to skip header:
Code:
df -g | awk 'NR>1&&($4+0)>70' > report.txt

if [ -s report.txt ]
then
        echo "Filesystems above 70% utilization"
        cat report.txt
else
        echo "No filesystems found above 70% utilization"
fi

This User Gave Thanks to Yoda For This Post:
# 12  
Old 08-08-2013
Hi JustIce,

I apologize for the wrong tone, i din mean to express like that. I dont know whether you got me or not. AM sorry for the words used. And i will try using the grep code which you shared.

---------- Post updated at 11:57 PM ---------- Previous update was at 11:54 PM ----------

Code:
df -g | awk 'NR>1&&($4+0)>70' > report.txt

if [ -s report.txt ]
then
        echo "Filesystems above 70% utilization"
        cat report.txt
else
        echo "No filesystems found above 70% utilization"
fi

This one worked Smilie Thanks for the code.. And I apologize all if i went wrong in my words.
# 13  
Old 08-08-2013
Just adding my 2 cents here. Another way to get this done would be:
Code:
#!/bin/bash 
# Do not show the titles of columns:
df -H | grep -vE '^Filesystem' | awk '{ print $5 " " $1 }' | while read output; 
do 
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  ) 
  partition=$(echo $output | awk '{ print $2 }' ) 
  if [ $usep -ge 90 ]; then 
    # Here you can either display a message to the screen or log the results to a file 
    echo "Running out of space $partition ($usep%) on $(hostname) as on $(date +%Y%m%d)" 
  fi 
done

If your question has been answered to your satisfaction, please mark this thread as solved for the future reference of other users. Thanks.
This User Gave Thanks to gacanepa For This Post:
# 14  
Old 08-09-2013
Thanks for the help provided :)

Hi guys,

I have used the code given and edited some parts and implemented the code in my servers . The code implemented was given below:
Code:
#Report file format for all the servers to grep the threshold reached files ( Script name : Report.sh)
df -g | awk 'NR>1&&($4+0)>70' > report010.txt 
if [ -s report151.txt ]
then
        cat report010.txt >> report010.txt
else
                echo "No file systems found above 70% utilization on the server `hostname`">>report010.txt
fi

Code:
#Concatenating all reports in one mail (Script name: Mail.sh)
echo > blank_line
echo “The list of File systems that reached threshold were given below” > mailbody.txt
echo “---------------------------------------------------------------------------------“>>mailbody.txt
cat report010.txt blank_line report011.txt >>mailbody.txt|mailx -s "Disk space Report-$(date +'%A %B %d, %Y')” –r “DSReport@office.com” hariharan.s@office.com


And i Got the output as below
Code:
From: DSReport@office.com [mailto:DSReport@office.com] 
Sent: Thursday, August 08, 2013 6:33 PM
To: Sundaram, Hariharan
Subject: Disk space Report-Thursday August 08, 2013
 
The list of File systems that reached threshold were given below
--------------------------------------------------------------
Disk space report for vathpubs010
/dev/hd2           5.88      1.76   71%    61014    13% /usr
/dev/fnetwebc_lv      2.00      0.34   84%     3558     5% /opt/IBM/FileNet/WebClient
 
Disk space report for vathpubs011
/dev/fnetwebc_lv      2.00      0.34   84%     3558     5% /opt/IBM/FileNet/WebClient
 
No Issues to report for the server vathpubs012
 
No Issues to report for the server vathpubs013
 
No Issues to report for the server vathpubs014
 
Disk space report for vathpubs015
/dev/fnetwebc_lv      2.00      0.34   84%     3558     5% /opt/IBM/FileNet/WebClient
 
Disk space report for vathpubs016
/dev/fnetwebc_lv      2.00      0.34   84%     3558     5% /opt/IBM/FileNet/WebCli
 
No Issues to report for the server vathpubs017
 
No Issues to report for the server vathpubs018

I have achieved the goal , but there was some additional request requested by my leads, They want the output like the above but some little modifications required, thats is We got the output but They need the "Disk space report for" (with filesystem) sorted first and then the "no issues to report" these servers should come like " The list of servers which are not having issues are given below: " with the servernames below.

For example :
The list of servers thats not facing the space issue are:
vathpubs017
vathpubs018


So is there any possibilities to bring this output? Please help me .
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

disk space

Hi, I am new to shell scripting, and want to monitor disk space using shell script continously on server, which will shoot mail after crossing threshold limit Please suggest. Regards Manoj (1 Reply)
Discussion started by: manoj.solaris
1 Replies

2. Shell Programming and Scripting

Check space of directories and send email if it has reached threshold limit

Hi, I need help in writing unix script for checking space of some directories on the system and also send an email when it reaches the threshold limit. I have written the followng code; #!/bin/ksh ADMIN="me@somewhere.com" # set alert level 80% is default THRESHOLD=80 df | grep -E... (5 Replies)
Discussion started by: jmathew99
5 Replies

3. Red Hat

disk space

when i check /export directory of my machine gets filled up (85%) i removed some old logs. but after cleaning df -k command still shows that /export is still 85% full. Is there a way to force df to reflect actual free space without rebooting? My machine is a production one and can't... (8 Replies)
Discussion started by: aboorkuma
8 Replies

4. Shell Programming and Scripting

Disk Space

Hi This is my script for disk space monitoring clear if then echo "You must be root user to execute the script" fi ALERT_LEVEL=10 CONSUMPTION_LEVEL= `df -k | awk {'print $5'} | cut -d '%' -f1 | sed "1 d"` for i in $CONSUMPTION_LEVEL do FILE_SYSTEM=`df -k | awk {'print $1'} |... (3 Replies)
Discussion started by: chrs0302
3 Replies

5. Shell Programming and Scripting

Disk Space

HI ... I am New to the Unix...I am trying to write a script to check the disk space. But i am not able to write it. I know the command to check the disk space df -k,but unable to write the script..Can any body help me... Thanks in advance... (3 Replies)
Discussion started by: Kingkon
3 Replies

6. HP-UX

Disk Space

Hi Experts. I had 100% disk full , even though i have removed 2 GB space still dbf command shows 100%. How to rectify that. Appreciate your prompt help. Thanks (1 Reply)
Discussion started by: test10002
1 Replies

7. UNIX for Dummies Questions & Answers

available disk space on disk device???

Hello, Can someone please tell me which command to use to determine the available disk space on a given disk device? I have to write a shell script that compresses files and stores them in a specific location but I am not sure how "conservative" I should be? Thanks in advance! Al. (4 Replies)
Discussion started by: alan
4 Replies

8. Filesystems, Disks and Memory

Disk Space -

I know I have posted this question before, but I still just don't understand how to determine disk space. This server is an IBM RS6000 running on AIX version 4.2.1. I in essence need to know the following if anyone can assist me. 1) I need to know how many drives are configured in the... (2 Replies)
Discussion started by: Docboyeee
2 Replies

9. UNIX for Dummies Questions & Answers

Out of disk space?

Hi I'm trying to install gcc and the installation program tells me that I'm out of disk space! I have just installed the os (using the default settings for partitions and sizes) and have only installed apache on the machine. Can it really be out of disk space already? How do I check how much... (4 Replies)
Discussion started by: alfabetman
4 Replies
Login or Register to Ask a Question