Solved

This is in UNIX and Veritas

Posted on 2011-03-20
5
177 Views
Last Modified: 2012-05-11
This is in   AIX UNIX and VCS..We are using VCS for the file system failover to other server when the server crashes..We have used the script in VCS to start the  application but the application goes down for some reason if VCS uses scripts to start up so we have removed the scripts from VCS so only the filesystems are now under VCS for failover

I need a script on the other server when it sees a new fileystem it should start the application..I want to set up a script on server 2 which is abcxyz02 as soonn as it sees the filesystem /oracle/BI1 its should run this script which wil bring up the application  /oracle/BI/1setup/startrunsaw.sh..and as soon as the application is restarted I want an e-mail to be sent from the server saying "New file system found and the application has been restarted"



0
Comment
Question by:aixtutorial
  • 3
  • 2
5 Comments
 
LVL 5

Expert Comment

by:paulqna
ID: 35176774
#!/bin/ksh
while true
do [[ -d /oracle/BI1 ]] && \
      { /oracle/BI/1setup/startrunsaw.sh
        ret=$?
        [[ $ret = 0 ]] && mail -s "`hostname`: startrunsaw success" user@domain.com
        [[ $ret != 0 ]] && mail -s "`hostname`: startrunsaw not successful ($ret)" user@domain.com
      }
      sleep 60
done
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35176791
Hi,

we must test if the application is already running, else it will be
restarted every time the script runs!

Unless you provide a better method how to do this I will use "ps":

if [ -x /oracle/BI/1setup/startrunsaw.sh ]
   then
    if ! ps -ef | grep -v grep | grep "runsaw"
       then
         nohup /oracle/BI/1setup/startrunsaw.sh &
         echo "New file system found and the application has been restarted" | mailx -s "Application Restart on Server $(hostname)" aixtutorial@domain.tld
    fi
fi

wmp
         
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 250 total points
ID: 35176799
I strongly assume that /oracle/BI1 is a mountpoint, so a "test -d" will always succeed!
0
 
LVL 5

Expert Comment

by:paulqna
ID: 35176853
-d was just a suggestion, any test for existing files/dirs under that mountpoint will do, and it needs to run permanently with a sleep of x seconds or as a cronjob running ever x minutes.

The self-run-check is good to include also, so he should take the best ideas from both of us.
The self-run-check could be included in the startrunsaw script also. for example with a startrunsaw.pid file... or using the ps cmd.
0
 
LVL 5

Expert Comment

by:paulqna
ID: 35479458
nice :(
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to make a Bash alias that takes parameters 5 73
Retreiving column names in Windows but not in Unix 11 59
android secure ftp 3 52
SMB share across internet 15 65
Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question