Modifying the Restart Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Modifying the Restart Script
# 1  
Old 06-02-2011
Modifying the Restart Script

Hello,

I have a shell script which calls for an existing script with appropriate parameters. It looks something like this.

--------------------------------------------------------------------------
Code:
#!/bin/bash
sh /root/ams_rc stop_shepherd > /dev/null
sleep 30
sh /root/ams_rc start_shepherd > /dev/null
exit 0

-------------------------------------------------------------------------
This script works fine. It stops and then starts the process.
I want to modify this script, with fail safes in it.

The script should check to see either if process has stopped properly on stop command or if process has started properly on start command.

Any help would be appreciated.

Thanks,
Siddhesh.K

Last edited by Franklin52; 06-02-2011 at 11:30 AM.. Reason: Please use code tags
# 2  
Old 06-02-2011
Code:
#!/bin/bash
sh /root/ams_rc stop_shepherd > /dev/null
if [ "$?" eq "0" ]
then
 sleep 30
 sh /root/ams_rc start_shepherd > /dev/null
else
 echo "Not stopped Properly"
 exit 1
fi
exit 0

# 3  
Old 06-02-2011
Hi,

Thanks for the reply.

I am not sure what exactly this means. Could you please elaborate the IF condition.

Regards,
Siddhesh.K
# 4  
Old 06-02-2011
A special variable called $? holds the last executed command exit status

in the if condition, we are checking the status. 0(zero) means success.

if it is success, then we are triggering the start script. Otherwise exit the shell script with exit status 1

---------- Post updated at 11:38 AM ---------- Previous update was at 11:38 AM ----------

Unix - Special Variables
# 5  
Old 06-02-2011
MySQL

Thanks again,

Can we use the following logic.
----------------------------------------------------------
Stop Shepherd
sleep 30
loop : IF (Stop Shepherd = "Shepherd not running")
then Start Shepherd
else loop 3 times ( If 3 attempts fail ... Alarm/email )
wait 30

loop2: IF (ps -ef | grep shep-1 | grep -v grep | grep -v wls100ctl | awk '{print $2}' | wc -l = 3 )
then echo shepherd started success
else loop2 3 times ( If 3 attempts fail ... Alarm/email )
----------------------------------------
To elaborate more on this,

1. It will stop the process.
2. Sleep for 30 seconds
3. then i want to put the same in loop to see if the process has been stopped.
4. if the condition in 3 satisfies then it will start the shepherd.
4. Else will loop in for stopping process for 3 times.

Can this be written in script.
Thanks in advance

Regards,
Siddhesh.K
# 6  
Old 06-02-2011
Quote:
Stop Shepherd
sleep 30
loop : IF (Stop Shepherd = "Shepherd not running")
then Start Shepherd
else loop 3 times ( If 3 attempts fail ... Alarm/email )
wait 30
In this case and as well as in the previous script, why are you exectuting sleep 30 secs. The moment
Code:
sh /root/ams_rc stop_shepherd > /dev/null

command returns, shepherd should have been stopped.

How could you put a loop and check the status of already stopped to "not running" status. It will be true in the first iteration itself.

Please post your requirement with out any code in mind. That will help us understand what you are looking for.
# 7  
Old 06-02-2011
Hi,

Sometime it may happen that the shepherd process may not stop. so be sure it is stops i was willing to put a loop to check the same, then start the shepherd process

Siddhesh.K

---------- Post updated at 12:40 PM ---------- Previous update was at 12:39 PM ----------

The original file looks like this.

Code:
stop_shepherd() {
        . $PROFILE
    echo "Stopping shepherd processes"
    PID=`cat $SERVER_HOME/alerts/logs/shepherd.pid`
    ps -ef | grep shep-1 | grep -v grep | grep -v wls100ctl | awk '{print $2}' > $SERVER_HOME/tmp/shepherd.pids
    if [ -s $SERVER_HOME/tmp/shepherd.pids ]
    then
        cat $SERVER_HOME/tmp/shepherd.pids | xargs kill -9
        echo "Shepherd stopped"
        rm -f $SERVER_HOME/tmp/shepherd.pids
    else
        echo "Shepherd not running"
    fi
    }

start_shepherd() {
        . $PROFILE
        echo "Starting shepherd processes"
        ps -ef | grep shep-1 | grep -v grep | grep -v wls100ctl | awk '{print $2}' > $SERVER_HOME/tmp/shepherd.pids
        if [ -s $SERVER_HOME/tmp/shepherd.pids ]
        then
        echo "Shepherd already running"
                rm -f $SERVER_HOME/tmp/shepherd.pids
        else
            cd $SERVER_HOME/alerts/bin
            su - shep-1 ./shepherd.sh
        rm -f $SERVER_HOME/tmp/shepherd.pids
        echo "Shepherd started"
        fi
    }


Last edited by Franklin52; 06-02-2011 at 11:31 AM.. Reason: Please use 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

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

2. Shell Programming and Scripting

Need some help modifying script

I have a script that currently runs fine and I need to add or || (or) condition to the if statement and I'm not sure the exact syntax as it relates to the use of brackets. my current script starts like this: errLog="/usr/local/website-logs/error.log" apacheRestart="service httpd restart"... (3 Replies)
Discussion started by: jjj0923
3 Replies

3. Shell Programming and Scripting

awk script for modifying the file

I have the records in the format one row 0009714494919I MY010727408948010 NNNNNN N PUSAAR727408948010 R007YM08705 9602002 S 111+0360832-0937348 I want to get it int the format 0009714494919I MY010727408948010 NNNNNN N PUSAAR727408948010 R007YM08705 9602002 S ... (2 Replies)
Discussion started by: sonam273
2 Replies

4. UNIX for Dummies Questions & Answers

Modifying a shell script without using an editor

Hi all, I really wan't to know that how to edit a shell script with out using an editor.. Is there any command? (4 Replies)
Discussion started by: buddhi
4 Replies

5. Shell Programming and Scripting

modifying file using script

Hi, I am new to shell programming, and want to know is it possible to change the contents of file using script? for example, if want to search 2 words and want to replace these words with 2 new words. Regards, Manoj (4 Replies)
Discussion started by: manoj.solaris
4 Replies

6. Shell Programming and Scripting

modifying perl script

Hi freinds I have a small problem I want u to help me in, I have a syslog server and configured it to send me email automatically, I get a small perl script to help me in, and tested it to send alerts to root and it worked successfully without any problems Now I want to send it outside, I... (4 Replies)
Discussion started by: reaky
4 Replies

7. Shell Programming and Scripting

Modifying the ntpd deamon script

I need to replace the line daemon ntpd $OPTIONS in the following script with daemon ntpd $OPTIONS 2>&1 > /var/log/ntpd.log & what will happen? The idea of replacing is to capture the output on the console into ntpd.log file. Will this work? ... (1 Reply)
Discussion started by: naive1977
1 Replies

8. Shell Programming and Scripting

Modifying a .ksh script

Hi users, I am on a beginner level and just joined this site. I have created a simple .ksh file in the following manner cat <<EOF >mfile #!/bin/ksh echo "hello world" EOF Request for some help with 2 cases 1. now i would like to add a second line after the first echo command... (4 Replies)
Discussion started by: corbusier
4 Replies

9. Shell Programming and Scripting

Help modifying script to loop through all folders

I have this script someone very kindly help me write last year which loops through all files in a folder and does a command. I need to modify it to loop through all sub-folders of a main folder and only perform the command on files modified after Jan 1st 2008. And I need the command to place the... (3 Replies)
Discussion started by: Fred Goldman
3 Replies

10. Shell Programming and Scripting

need help with understanding and modifying script

hi all, i am new to UNIX. this is my first time using Ubuntu. i need to do this for my fyp. i am using an artificial neural network model to predict the yield strength of steel. the shell script used to execute this model is as shown here: #Thomas Sourmail, Cambridge University /... (4 Replies)
Discussion started by: dakkorn
4 Replies
Login or Register to Ask a Question

Featured Tech Videos