Doubt about if conditions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Doubt about if conditions
# 1  
Old 08-19-2013
Doubt about if conditions

Hi folks,

Please confirm below code is fine or not. I mean to say confirm if conditions are fine or not, because i need to test it on live server but before this i need confirmation. Below script first check the status of database and tell us database is up and then stop the database but after that it again check database is down or still up.

Code:
echo "Checking DB Status"

DBSTATUS=`ps -ef |grep ora_pmon_DB1 |grep -v grep |awk -F " "  '{print $8}'`

if [ "$DBSTATUS" = "ora_pmon_DB1" ]
then
echo "$DBSTATUS is up"

#commands stop databse

DBSTATUSF=`ps -ef |grep ora_pmon_DB1 | grep -v grep |awk -F " "  '{print $8}'`
if [ "$DBSTATUSF" = "ora_pmon_DB1" ]
then
echo "$DBSTATUSF is Down - FAILED"
else
echo "$DBSTATUSF is up - SUCCESSFUL"
fi
else
echo "$DBSTATUSF Down - FAILED"
fi

# 2  
Old 08-19-2013
Quote:
Originally Posted by learnbash
Hi folks,

Please confirm below code is fine or not. I mean to say confirm if conditions are fine or not, because i need to test it on live server but before this i need confirmation. Below script first check the status of database and tell us database is up and then stop the database but after that it again check database is down or still up.

Code:
echo "Checking DB Status"

DBSTATUS=`ps -ef |grep ora_pmon_DB1 |grep -v grep |awk -F " "  '{print $8}'`

if [ "$DBSTATUS" = "ora_pmon_DB1" ]
then
echo "$DBSTATUS is up"

#commands stop databse

DBSTATUSF=`ps -ef |grep ora_pmon_DB1 | grep -v grep |awk -F " "  '{print $8}'`
if [ "$DBSTATUSF" = "ora_pmon_DB1" ]
then
echo "$DBSTATUSF is Down - FAILED"
else
echo "$DBSTATUSF is up - SUCCESSFUL"
fi
else
echo "$DBSTATUSF Down - FAILED"
fi

It looks ok. One thing:
After initiating the commands to stop the database, be sure to take the time until it has stopped. Sometimes it takes a little before the processes are killed and cleared.

Maybe a sleep instruction will help.

Hope this helped you.

Regards!
# 3  
Old 08-20-2013
I will recommend to write by function, and call the functions "status, start, stop" with case statement. such as:

Code:
USAGE() {
# Put code here
}
status() {
# Put code here
}
start() {
# Put code here
}
stop() {
# Put code here
}
case "$1" in 
'start')
        echo "check status"
        status
        echo "stop"
        stop
        sleep 10
        echo "check status"
        status
        echo "start"
        start
        sleep 10
        echo "status
        status
        ;;

'stop')
        echo "check status"
        status
        echo "stop"
        stop
        sleep 10
        echo "check status"
        status
        ;;
'status')
        echo "status"
        status
        ;;
*)
        echo "$USAGE" 1>&2
        exit 1
        ;;
esac

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Multiple conditions in IF

Fellas, Am new to unix os/ and here the situation , I am trying to write multiple condition statement inside if but it throws me a error here is my piece of code , if ] && ] && ] then commands fi error : line 15 : ` can someone please advise me how to fix it Please use... (7 Replies)
Discussion started by: xeccc5z
7 Replies

2. Shell Programming and Scripting

Conditions in if

I'm using the below one.. #!/bin/ksh File=$3 if ; then echo "Script" elif ] ;then echo "Passed k or f option" else "Please check the Input passed" fi Command line argument is "k" or -f and file is exist then... (3 Replies)
Discussion started by: Roozo
3 Replies

3. Shell Programming and Scripting

Errors in if conditions with to many OR conditions

Hi ALL I have a script where in i need to check for several values in if conditons but when i execute the script it throws error such as "TOO MANY ARGUMENTS" if then msg="BM VAR Issue :: bmaRequestVAR=$bmaRequestVAR , nltBMVAR=$nltBMVAR , bmaResponseVAR=$bmaResponseVAR ,... (10 Replies)
Discussion started by: nikhil jain
10 Replies

4. Shell Programming and Scripting

If conditions need

Dear Expert, Below code is for to take the backup of database by daily time stamp. I need vital help to make my script automatic sending me email if it sucess or fail. echo on @REM Seamonkey's quick date batch (MMDDYYYY format) @REM Setups %date variable @REM First parses month, day, and... (6 Replies)
Discussion started by: Alone
6 Replies

5. Shell Programming and Scripting

Conditions in awk

Hi there, here is my command ssh host.local "/path/to/my/perscript/hostconfig.pl -s $HOST -d |awk '{if (\$4 > 120)print \"My error message\";exit}{s=0; for (i=1; i<=NF; i++) s++; if(s == 13) print \$3}'" The problem is if conditional 1 is met (i.e $4 > 120), i don't see "My error message", the... (5 Replies)
Discussion started by: urello
5 Replies

6. Shell Programming and Scripting

IF OR with two conditions

I have this IF working fine, testing if a char is a digit: if ; then _VALUE=$_VALUE$_CHAR else _ISDIGIT="false" fi Then I add a second condition to test if the char is either a digit or a * if ]; then _VALUE=$_VALUE$_CHAR ... (11 Replies)
Discussion started by: Flavius
11 Replies

7. Shell Programming and Scripting

While with three conditions

Currently this is what I am trying while || && ]; do I want to continue if the first condition or both the second and third are true but I am getting a too many arguments error. Can someone help me out? (5 Replies)
Discussion started by: whdr02
5 Replies

8. Shell Programming and Scripting

conditions

./script 89 The script will extract the last digit of the input parameter. example, that is 4. This will be compared to the last digit of the current day of the month ( like day 14; that is 4). A message will displayed on the screen indicating if the digits are the same or not. (1 Reply)
Discussion started by: singh is king
1 Replies

9. UNIX for Dummies Questions & Answers

2 or more if conditions

Hello, I have a file as follows: col no:1 2 3 4 5 6 7 8 9 10 11 a 4 226 226 ch:95024048-95027592, 1y224 of 3545 223 224 ident b 53 235 235 ch:148398-148401255, 1y184 of 3187 180 186 ident awk... (3 Replies)
Discussion started by: dr_sabz
3 Replies

10. Shell Programming and Scripting

reduce the or conditions

Hi , how can i reduce the or conditions: if ]; then whatever fi (8 Replies)
Discussion started by: hitmansilentass
8 Replies
Login or Register to Ask a Question