shell script -- need help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting shell script -- need help
# 1  
Old 11-26-2008
shell script -- need help

check all the file system if any file system is using above 80% space then an automatic mail with all mount point details send to abc@yahoo.com on each monday at 5:30pm.Please help me on this script.

Thanks in advance
Rohit
# 2  
Old 11-26-2008
Here is a script we use on our HP-UX servers, it runs in cron wvery 30mins and would immediately send out an email.

There are actually 2 warning levels, Warning and EMERGENCY.
Code:
 n[1]=1; fs[1]=/; limit1[1]=70; limit2[1]=80;

this line sends a warning at 70% and EMERGENCY at 80% for root.

Code:
#!/usr/bin/ksh

# Setup the date variables
FullDate=`date`
Date=`date +%m%d`

# Setup the other variables
ProgName=checkfilesystem
SCRIPTDIR=/local/bin/
LOG=/syslog/filecheck.log
TMP=/tmp/${ProgName}.$$
TMP2=/tmp/${ProgName}.${$}.2
MAILSUPPORT="someemail@email.com"

# Setup the Node name
host=`hostname`

#Here are the filesystems which are checked

  n[1]=1; fs[1]=/; limit1[1]=70; limit2[1]=80;
  n[2]=2; fs[2]=/var; limit1[2]=80; limit2[2]=90;
  n[3]=3; fs[3]=/usr; limit1[3]=80; limit2[3]=95;
  n[4]=4; fs[4]=/tmp; limit1[4]=50; limit2[4]=90;
  n[5]=5; fs[5]=/home; limit1[5]=70; limit2[5]=90;
  n[6]=6; fs[6]=/stand; limit1[6]=60; limit2[6]=80;
  n[7]=7; fs[7]=/opt; limit1[7]=80; limit2[7]=90;


  #...End of locally modifyable section

exec > $LOG 2>&1


  for x in ${n[*]}
  do
  xfs=${fs[$x]}
  l1=${limit1[$x]}
  l2=${limit2[$x]}
  pctfull=`df -k $xfs|grep allocation |awk '{print $1}'|tr -d '%'`
  if (( $pctfull > $l2 )); then
echo "EMERGENCE EMERGENCY EMERGENCY"
echo "$xfs=$pctfull on $host"
echo "Check filesystem and solve the problem"
echo

else
  if (( $pctfull >= $l1)); then

echo "Warning $xfs=$pctfull on $host"
echo "Please check the filesystem"
echo
fi
fi
done
        if [[ -s $LOG && -f $LOG ]]; then
        mailx -s "Filesystem Problem on $host " $MAILSUPPORT < $LOG
        fi

# 3  
Old 11-26-2008
Hi ,

I use df then I found that kind of filesystem.Please look into it.

[efare@e1dsgalnggf10] $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 2747140 417256 2190336 17% /
/dev/sda1 175900 16085 150733 10% /boot
none 16637248 0 16637248 0% /dev/shm
/dev/sda9 14167456 4996728 8451044 38% /home
/dev/sda6 3752552 1372648 2189280 39% /opt
/dev/sda8 1832060 54520 1684476 4% /tmp
/dev/sda5 4580244 2299052 2048528 53% /usr
/dev/sda7 3668032 2625440 856264 76% /var
ecmcc03:/ecmvobstore 31260672 16519168 14741504 53% /ecmvobstore
ecmcc04:/vwsstg 103001368 29822408 67946736 31% /vwsstg
e1dsgalnggfns01:/vol/dev_logstats
75157224 39457656 35699568 53% /dev_logstats
e1dsgalnggfns02:/vol/dev_tools
288102672 251549088 36553584 88% /dev_tools
e1dfgalnggfns02:/vol/dev_tools/LINUXMTP-4
288102672 251549088 36553584 88% /dev_tools/MTP
e1dfgalnggfns02:/vol/dev_tools/LOCAL4-T2
288102672 251549088 36553584 88% /usr/local
e1dfgalnggfns02:/vol/dev_tools/LOCAL4-T2
288102672 251549088 36553584 88% /dev_tools/efare1/dist/sparc
e1dsgalnggfns02:/vol/dev_tools/efare1/dist/sparc/home
288102672 251549088 36553584 88% /dev_tools/efare1/dist/sparc/home
/dev/mvfs 2747140 417256 2190336 17% /view
/ecmvobstore/scm_scripts.vbs
31260672 16519168 14741504 53% /vob/scm_scripts
/ecmvobstore/ctg.vbs 31260672 16519168 14741504 53% /vob/ctg
/ecmvobstore/css.vbs 31260672 16519168 14741504 53% /vob/css
/ecmvobstore/test_dst.vbs
31260672 16519168 14741504 53% /vob/test_dst
/ecmvobstore/efs.vbs 31260672 16519168 14741504 53% /vob/efs
e1dsgalnggfns01:/vol/dev_histgold2
3114417528 3027308912 87108616 98% /uefare1/dev_histgold2
e1dsgalnggfns01:/vol/dev_histgold1
3114417528 3035423568 78993960 98% /uefare1/dev_histgold1

Is this script run on this output.Beacuse mailsent when it is above 80%.

Last edited by rohit22hamirpur; 11-26-2008 at 06:34 PM.. Reason: clarify more
# 4  
Old 11-27-2008
Hi,

please try this
flag=0
touch /tmp/testaja.txt
bdf|awk '{print $5" "$6}'|while read output;
do
persen=$(echo $output |awk -F "%" '{print $1}')
dir=$(echo $output |awk '{print $2}')
if [ $persen -gt 80 ]; then
echo "$dir $persen" >> /tmp/testaja.txt
flag=1
fi
done
if [ $flag -eq 1]; then
mail yourmail@somewhere.com < /tmp/testaja.txt
fi

thanks
# 5  
Old 12-03-2008
Hi Adhit,

I will try this script.

Thanks in advance-
Rohit

Last edited by rohit22hamirpur; 12-03-2008 at 07:06 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script newbie- how to generate service log from shell script

Hi, I am totally a newbie to any programming languages and I just started an entry level job in an IT company. One of my recent tasks is to create a script that is able to show the log file of linux service (i.e. ntpd service) lets say, if I run my script ./test.sh, the output should be... (3 Replies)
Discussion started by: xiaogeji
3 Replies

2. Shell Programming and Scripting

Pass C shell array to another C shell script(csh) and shell(sh)

Dear Friends, Please help me on this my script name is send.csh In this i have written the statement like this set args = ( city state country price ) I want to pass this array to another c shell called receiver.csh. and i want to use it in this c shell or how to pass to... (2 Replies)
Discussion started by: SA_Palani
2 Replies

3. Shell Programming and Scripting

How to write config shell script to pass variables in master shell script?

Dear Unix gurus, We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies

4. UNIX for Dummies Questions & Answers

How to write Config shell script to pass variables in master shell script?

Dear Unix gurus, We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies

5. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

6. Shell Programming and Scripting

Correct shell script to Call One shell script from another shell script

Hi All, I have new for shell scripting. Problem : I have one scrip at serv1 and path of server is /apps/dev/provimage/scripts and script name:extract_ancillary.bat. I need to call this script at server2(my working server) and execute at server2 . Please let me know how to build the... (5 Replies)
Discussion started by: Vineeta Nigam
5 Replies

7. Shell Programming and Scripting

call another shell script and pass parameters to that shell script

Hi, I basically have 2 shell scripts. One is a shell script will get the variable value from the user. The variable is nothing but the IP of the remote system. Another shell script is a script that does the job of connecting to the remote system using ssh. This uses a expect utility in turn. ... (2 Replies)
Discussion started by: sunrexstar
2 Replies

8. Shell Programming and Scripting

How to use ssh execute other shell script on other host (shell script include nohup)?

i want use ssh on the host01 to execute autoexec.sh on the host02 like following : host01> ssh host02 autoexec.sh autoexec.sh include nohup command like follwing : nohup /home/jack/deletedata.sh & after i execute ssh host02 autoexec.sh one the host01. i can't found deletedata.sh... (1 Reply)
Discussion started by: orablue
1 Replies

9. Shell Programming and Scripting

invoking a shell script inside cgi shell script

Hi, I have an HTML form through which I get some text as input. i need to run a shell script say script.sh inside a perl-cgi script named main_cgi.sh on the form input. I want to write the contents of the form in a file and then perform some command line operations like grep, cat on the text... (2 Replies)
Discussion started by: smriti_shridhar
2 Replies

10. Shell Programming and Scripting

How to Run a shell script from Perl script in Parent shell?

Hi Perl/UNIX experts, I have a problem in running a shell script from my perl script (auto.pl). I run the perl script using perl auto.pl from the shell prompt The shell script picks the files in "input" folder and procesess it. The shell script blue.sh has this code. export... (16 Replies)
Discussion started by: hifake
16 Replies
Login or Register to Ask a Question