Running Multiple scripts based on file size.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Running Multiple scripts based on file size.
# 1  
Old 04-18-2011
Running Multiple scripts based on file size.

Hi,

I have created 3 shell scripts which has to run one by one first two shell scripts will create a .txt files...which are used by the third shell script.Now I want to create a master script and run all these in a single script.

Please give a pseudo code on how to so the same.

master_script.sh

I want to call my scripts in the below way.

srcloc=/bin/main/scripts/
chmod 777 1.sh
chmod 777 2.sh
chmod 777 3.sh

sh 1.sh if success then call sh 2.sh
else throw an error message(1.sh failed) fail the enter master script
if sh 2.sh is success then call 3.sh
else throw an error message(2.sh failed) fail the enter master script

###if 2.sh is successfully executed it will create a blr_src.txt file before running the 3.sh I have to check if the file blr_src.txt is > 0 bytes(i.e it has some value) if yes then it has to call the 3.sh (and if file is empty then) else throw a error message that file is empty and exit the master script.

call the third script as below

if file blr_src > 0 then sh 3.sh payment blr_src.txt (payement is the variable name for 3.sh) after 3.sh is completed exit the master script.

Regards,
Deepti
# 2  
Old 04-19-2011
Try this
Code:
#!/bin/bash

srcloc=/bin/main/scripts/
chmod 777 1.sh
chmod 777 2.sh
chmod 777 3.sh

function err
{
  ret=$1
  scr=$2
  
  if [ $ret -ne 0 ]
  then
    echo "Error : $src. Exiting..."
    exit 1
  fi
}

$srcloc/1.sh
err "$?" "1.sh failed"

$srcloc/2.sh
err "$?" "2.sh failed"

fileSize=0
if [ -f $srcloc/blr_src.txt ]
then
  fileSize=`stat -c %s $srcloc/blr_src.txt >/dev/null 2>&1`
fi

if [ $fileSize -eq 0 ]
then
  err "1" "blr_src.txt is empty"
fi

$srcloc/3.sh
err "$?" "3.sh"

echo "master.sh executed successfully..."
exit 0

regards,
Ahamed

Last edited by Scott; 04-19-2011 at 04:03 AM..
# 3  
Old 04-19-2011
Hi Ahamed,

Thanks for the script. can you please explain me the below part.
Code:
function err
{
  ret=$1
  scr=$2
  
  if [ $ret -ne 0 ]
  then
    echo "Error : $src. Exiting..."
    exit 1
  fi
}

And the below part
Code:
if [ $fileSize -eq 0 ]
then
  err "1" "blr_src.txt is empty"
fi

the above part is giving a error when executing the script.., the error is showing as error at line and showing this script.., if I remove this part the script is working.

Regards,
Deepti

Last edited by Franklin52; 04-19-2011 at 01:26 PM.. Reason: Please use code tags
# 4  
Old 04-19-2011
Code:
chmod 777 1.sh
chmod 777 2.sh
chmod 777 3.sh

No no no. 777 is not the magic sledgehammer fix to all permission walls. These numbers actually mean something, and have consequences farther than what you wanted. Do you really want your script files to be world-writable -- as in, any user whatsoever on the system can modify them, even by accident, even system daemons and random passers by?

chmod 750 1.sh

Last edited by Corona688; 04-19-2011 at 12:27 PM..
# 5  
Old 04-19-2011
function err{} - just a function to print the error message if any. Else we will have to print the error message everywhere. The arguments are $1 - return value;success 0;failure > 0 and $2 - Any message you want to print.

So when you do the below call
Code:
$srcloc/1.sh err "$?" "1.sh failed"

First argument will be the return value of the execution of the script 1.sh. Second argument will be the error message it will print if at all the script failed.

Coming to the error part - can you paste the exact error your getting.
Try this code
Code:
if [ "$fileSize" -eq 0 ] 
then   
err "1" "blr_src.txt is empty" 
fi

May be fileSize is not populated correctly. Debug it by printing the values or running it in debug mode using -x option from command line. Check the path of blr_src.txt, may thats incorrect.

regards,
Ahamed

Last edited by ahamed101; 04-19-2011 at 01:54 PM.. Reason: code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Running Multiple scripts at a time

Hello! I have a scriptA.ksh and in this script I need to call script1.ksh, script2.ksh, script3.ksh, script4.ksh and script5.ksh. But want to run in two batches like 1st script1.ksh, script2.ksh, script3.ksh, once all 3 are completed then script4.ksh script5.ksh I have given the syntax... (1 Reply)
Discussion started by: karumudi7
1 Replies

2. UNIX for Advanced & Expert Users

Running Multiple Scripts for different business date

Hi Team, I have the below 4 scripts which I will be running in sequential order. This run will start for today's business date. If all the 4 scripts are success for today that means script has ran succesfully. Howver if any one of these 4 scripts failed then it has to take the next... (1 Reply)
Discussion started by: Deena1984
1 Replies

3. UNIX for Dummies Questions & Answers

Execution problem in running multiple scripts

hi all, I have 3 individual scripts to perform the task . 2nd script should run only after the 1st script and 3rd script must run only after first 2 scripts are executed successfully. i want to have a single script that calls all this 3 scripts .this single script should execute the 2nd script... (1 Reply)
Discussion started by: Rahul619
1 Replies

4. UNIX for Advanced & Expert Users

Running multiple php scripts into one php only, cron mail alert problem...

hi, while separated they produce the usual mail alert and i can see the output... if i write into the php script: <?php system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script1.php'); system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script2.php'); system('php -f... (0 Replies)
Discussion started by: 7stars
0 Replies

5. Shell Programming and Scripting

Making use of multiple cores for running sed and awk scripts

Hi All, After reading that the sort command in Linux can be made to use many processor cores just by using a simple script which I found on the internet, I was wondering if I can use similar techniques for programs like the awk and sed? #!/bin/bash # Usage: psort filename <chunksize>... (7 Replies)
Discussion started by: shoaibjameel123
7 Replies

6. Shell Programming and Scripting

The scripts not able to make the file to size 0, every times it go back to its original size

#!/bin/sh ########################################################################################################## #This script is being used for AOK application for cleaning up the .out files and zip it under logs directory. # IBM # Created #For pdocap201/pdoca202 .out files for AOK #1.... (0 Replies)
Discussion started by: mridul10_crj
0 Replies

7. Homework & Coursework Questions

Help running scripts in 1 file.

1. The problem statement, all variables and given/known data: Running different parts of the assignment together in 1 script 2. Relevant commands, code, scripts, algorithms: awk, nawk, bash, cp, cut, echo, expr, grep, join, mkdir, paste, rm, sort, sed, test, tr, true and false. 3. The... (0 Replies)
Discussion started by: bigubosu
0 Replies

8. Shell Programming and Scripting

multiple child scripts running in backgroud, how to use grep on the parent?

Hi I have a shell script A which calls another 10 shell scripts which run in background. How do i make the parent script wait for the child scripts complete, or in other words, i must be able to do a grep of parent script to find out if the child scripts are still running. My Code: ... (5 Replies)
Discussion started by: albertashish
5 Replies

9. Shell Programming and Scripting

running multiple scripts

Hi all I have a requirement where I have a flow like Script1 script2 Script3 Script 4 Script 5 Script 6 script7 where script2 to script6 will... (3 Replies)
Discussion started by: nvuradi
3 Replies

10. UNIX for Dummies Questions & Answers

How to open multiple shells while the scripts keeps running.

Hello, I've tried for a while now to run a bash script that continues to the end, while opening new shells as needed. I've tried xterm -e "somecommand"; & xterm -e " somecommand"; I've also tried screen -S "somecommand"; & screen -S "somecommand"; All without any luck, they... (5 Replies)
Discussion started by: Closed_Socket
5 Replies
Login or Register to Ask a Question