Space storage shell script issue!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Space storage shell script issue!
# 15  
Old 08-24-2011
code tag means

PHP Code:
[codeyour data [/code
---------- Post updated at 04:18 PM ---------- Previous update was at 04:16 PM ----------

Strange, why it is taking 4 as greater than 30

still checking...

Code:
 
$ nawk '/%/ {a=substr($(NF-1),1,length($(NF-1))-1); if(a > 30){print $0}}' test                                                                   
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G   13G  6.2G  68% /
                      400G  272G  129G  68% /oradata
                      1.1T  526G  578G  48% /orabkup
                      2.3T  1.6T  728G  69% /software
                      2.3T  1.6T  728G  69% /backup
                      2.3T  1.6T  728G  69% /patches
                      450G  170G  281G  38% /xyz_oradata
                      150G   67G   84G  45% /orabin
                      225G  106G  120G  48% /oradata_xxx
                       40G   20G   21G  48% /orabin
                       40G  1.4G   39G   4% /oradata2

 
bash-3.00$ cat test 
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G   13G  6.2G  68% /
/dev/sda1              99M   21M   74M  22% /boot
fcsan02:/vol/xxx_oradata
                      400G  272G  129G  68% /oradata
fcnas01:/vol/oraclebackups/xxx
                      1.1T  526G  578G  48% /orabkup
fcnas01:/vol/ebs/software
                      2.3T  1.6T  728G  69% /software
fcnas01:/vol/ebs/backup
                      2.3T  1.6T  728G  69% /backup
fcnas01:/vol/ebs/patches
                      2.3T  1.6T  728G  69% /patches
fcsan03:/vol/xxx_xxoradata
                      450G  170G  281G  38% /xyz_oradata
fcsan03:/vol/xxx_scripttest
                       20G   96K   20G   1% /scripttest
fcsan03:/vol/orabin/xxx
                      150G   67G   84G  45% /orabin
fcsan01:/vol/ebs/eptp51
                       10G  5.5M   10G   1% /ebs/eptp51
fcsan02:/vol/SnapManager_20101206155612743_xxx_oradata
                      225G  106G  120G  48% /oradata_xxx
tmpfs                 9.8G   28M  9.8G   1% /dev/shm
fcsan03:/vol/xxx_oraerp
                       40G   20G   21G  48% /orabin
fcsan03:/vol/xxx_archerp
                       40G  1.4G   39G   4% /oradata2

# 16  
Old 08-24-2011
This should solve the problem:

Code:
 
TEST_SYSTEM>df -h | awk '/%/ {$0=(a?a" "$0:$0);a="";gsub("%","");print $0;next} {a=$0;next}' | awk '$5>30' > disk_chk_out
TEST_SYSTEM>mailx -s "Disk Check > 30%" abc@xyz.com < disk_chk_out

# 17  
Old 08-24-2011
substr is the issue..

try this.

Code:
 
$ df -h | nawk '/%/ {if(length($(NF-1))> 2) {a=substr($(NF-1),1,length($(NF-1))-1); if(a > 30){print $0}}}'

# 18  
Old 08-25-2011
Space storage shell script issue!

Many thanks to all of you for your time to help resolve this issue now!

itkamaraj: Thanks so much for your time. Yes now it's working fine as per the expected output

itkamaraj: Could you please explain me the code used as below:

Code Tag:

Code:
$ df -h | nawk '/%/ {if(length($(NF-1))> 2) {a=substr($(NF-1),1,length($(NF-1))-1); if(a > 30){print $0}}}'

Thanks,
a1_win
# 19  
Old 08-25-2011
Code:
 
nawk '/%/ {if(length($(NF-1))> 2) {a=substr($(NF-1),1,length($(NF-1))-1); if(a > 30){print $0}}}'

/%/  --> Match % and process the lines which is having %
$(NF-1) --> Print the value of (last - 1) column value (disk usage column)
length($(NF-1)) --> Get the length of the disk usage column.
if(length($(NF-1))> 2  --> check the length is greater than 2 ( It will eliminate the usage which is less than 10%)
a=substr($(NF-1),1,length($(NF-1))-1);  --> Strip the % value from the disk usage column ( eg: 85% to 85 )
then check a > 30, then print the line.
More example for understaing :
echo "abc edf ghi" | awk '{ print $NF }'            # prints the last record value
echo "abc edf ghi" | awk '{ print $(NF-1) }'  # prints the last-1 record value
echo "abc edf ghi" | awk '{ print $(NF-2) }'  # prints the last-2 record value
echo "abcd efg hi" | awk '{print length($1)}'  # prints the lenght of first record
echo "abcd efg hi" | awk '{print length($2)}'  # prints the lenght of second record
echo "abcd efg hi" | awk '{print length($3)}'  # prints the lenght of third record
echo "abcdefg" | awk '{ print substr($0,1,2)}'   # prints 2 letters from the 1st position

Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Red Hat

Total storage space and Serial number

Hi, Could you please tell me the commands to find Total storage space and Serial number of Linux server. OS -- Red Hat Enterprise Linux Server release 6.6 (Santiago) This is 2 node cluster. Regards, Maddy (1 Reply)
Discussion started by: Maddy123
1 Replies

2. Shell Programming and Scripting

Print 1 to 10 with space in shell script

Hi, I want to print 1 to 10 or upto any number sequentially with space in a single line. Like, 1 2 3 4 5 6 7 ...... In shell script only.. Can anyone plz help me. Thanks: (14 Replies)
Discussion started by: arup1980
14 Replies

3. Shell Programming and Scripting

Shell Script to Abort if file name has space.

Hi, In my shell script I use the following code to copy files from one directory to other. for file in `ls`; do #----------------- Copy Files From INDIR to OUTDIR -------------# echoen "Copying File ${INDIR}/$file to ${OUTDIR}/${file}" cp ${INDIR}/$file ... (4 Replies)
Discussion started by: pinnacle
4 Replies

4. Shell Programming and Scripting

Help with Disk Space script in bash shell

Hi Guys, I'm a newb at shell scripting and successfully attempted a small disk space script (victory!!) but i'm wondering whether it actually takes into consideration KB,MB,GB. Please take a look at the script and advise. ##script to check if file sys has reached threshold. ... (3 Replies)
Discussion started by: Irishboy24
3 Replies

5. Solaris

Storage issue on T5220

We have one box T5220 which was assigned 2x100G Luns but i have a strange problem if i use powermt display it only shows me one card but cfgadm, fcinfo commands shows 2 dual port cards as up. What could be the reason for it. I already did a re-configure reboot but that didn't help. Can anyone help... (1 Reply)
Discussion started by: fugitive
1 Replies

6. Shell Programming and Scripting

Passing Parameter containing space in between to Shell Script

Hi, I have one shell script which use two parameter however one of its parameter have space in between. eg. a.sh 20110114 b c d here b c d is one parameter I used 'b c d' but its not giving correct result. Also i tried b\c\d but this one also didnt work. Any help would be... (5 Replies)
Discussion started by: diehard
5 Replies

7. Shell Programming and Scripting

Shell script partitions space monitor

Hello friends, I'm newbie in shell scripting... Until now i have this script: #!/bin/sh emailok = email1@domain.com emailissue = email2@domain.com limit="50" df -h | grep -vE '^Filesystem' | awk '{print $1 " " $4 " " $5}'|while read val do partition=$(echo $val | awk '{print... (9 Replies)
Discussion started by: john_doe
9 Replies

8. AIX

how do I increase the storage space I am new to AIX

Host Name - xxxxxxx IP Address - xxxxxxxxx Alert Msg - The percentage of available storage space (DMXMemory) is low (49.54374442289481 percent). Time received - 14:23 Time Logged - 14:55 Suggested Group - MR-UNIX (5 Replies)
Discussion started by: Nyiko
5 Replies
Login or Register to Ask a Question