summaryrefslogtreecommitdiffstats
path: root/bin/start_rasdaman.sh.in
diff options
context:
space:
mode:
authorConstantin Jucovschi <cj@ubuntu.localdomain>2009-04-24 07:20:22 -0400
committerConstantin Jucovschi <cj@ubuntu.localdomain>2009-04-24 07:20:22 -0400
commit8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 (patch)
treebd328a4dd4f92d32202241b5e3a7f36177792c5f /bin/start_rasdaman.sh.in
downloadrasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.gz
rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.xz
rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.zip
Initial commitv8.0
Diffstat (limited to 'bin/start_rasdaman.sh.in')
-rw-r--r--bin/start_rasdaman.sh.in123
1 files changed, 123 insertions, 0 deletions
diff --git a/bin/start_rasdaman.sh.in b/bin/start_rasdaman.sh.in
new file mode 100644
index 0000000..de564dd
--- /dev/null
+++ b/bin/start_rasdaman.sh.in
@@ -0,0 +1,123 @@
+#!/bin/bash
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+#
+
+#
+# start_rasdaman.sh - start rasdaman server complex
+#
+# SYNTAX
+# start_rasdaman.sh [servers...]
+#
+# DESCRIPTION
+# This script starts rasdaman.
+# Which rasdaman servers are started depends on the 'server' name(s) provided:
+# * If no server name is provided then the environment variable $RASSERVERS is
+# inspected to obtain a list of servers to be started. If $RASSERVERS is not
+# set, then all rasdaman servers defined will be attempted to start.
+# * If at least one parameter is provided then all parameters
+# will be treated as a server name which is tried to be started.
+#
+# One possible reason while not all servers may come up is that more servers
+# might be defined than your licence model allows to run in parallel.
+#
+# To log in to the server, the external variable $RASLOGIN is expected to hold
+# an ID string (see rasdaman manual). If not found, a desperate last attempt is
+# made to login as rasadmin/rasadmin. If this fails, no servers are started at all.
+#
+# PRECONDITIONS
+# - need to have a rasdaman admin login either from $RASLOGIN or as rasadmin/rasadmin
+# - need to have an id that allows to write into $RMANHOME/log
+# - need to have a valid rasdaman installation + key
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+
+# --- CONSTANTS -----------------------------------------------------
+
+# sleep time to let rasmgr establish before spawning servers
+WAIT_FOR_CHILDREN=5
+
+# get script name
+MYNAME=`basename $0`
+
+# error messages:
+ERROR_PARAM="ERS001 Error: illegal parameter: $1"
+
+# --- END CONSTANTS -------------------------------------------------
+
+# --- ACTION --------------------------------------------------------
+
+echo $MYNAME: starting rasdaman server complex...
+
+# --- start rasmgr: -------------------------------------------------
+
+# here we want to put all log files
+cd @logdir@
+
+# clear previous log file
+rm -f nohup.out
+
+# start rasdaman server manager as demon; log will go into nohup.out
+nohup @bindir@rasmgr & 2>&1
+
+# --- start servers: -------------------------------------------------
+
+# allow process to establish
+sleep $WAIT_FOR_CHILDREN
+
+# these servers will be started:
+if [ $1 ]
+then
+ # parameters provided, take them as server names
+ SERVERS=$*
+else
+ if [ "$RASSERVERS" ]; then
+ SERVERS=$RASSERVERS
+ else
+ SERVERS=""
+ fi
+fi
+
+# determine rascontrol login
+if [ -z "$RASLOGIN" ]; then
+ export RASLOGIN=rasadmin:d293a15562d3e70b6fdc5ee452eaed40
+fi
+
+# ...then spawn server workers
+if [ "$SERVERS" ]; then
+ for SRV in $SERVERS
+ do
+ echo -n $MYNAME: starting server $SRV...
+ @bindir@rascontrol -e -q -x up srv $SRV || exit $!
+ done
+else
+ echo $MYNAME: starting all rasdaman servers...
+ @bindir@rascontrol -e -q -x up srv -all || exit $!
+fi
+
+echo $MYNAME: done.
+exit $RC_OK
+
+# --- END ACTION ----------------------------------------------------
+