diff options
author | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
---|---|---|
committer | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
commit | 8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 (patch) | |
tree | bd328a4dd4f92d32202241b5e3a7f36177792c5f /bin/rasdaman | |
download | rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.gz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.xz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.zip |
Initial commitv8.0
Diffstat (limited to 'bin/rasdaman')
-rw-r--r-- | bin/rasdaman | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/bin/rasdaman b/bin/rasdaman new file mode 100644 index 0000000..4c39306 --- /dev/null +++ b/bin/rasdaman @@ -0,0 +1,114 @@ +#! /bin/sh +# +# rasdaman - boot time start/stop script +# +# SYNOPSIS +# rasdaman [start|stop|restart] +# +# DESCRIPTION +# Boot script to launch/terminate rasdaman, to go into +# the init directory. +# Install as /etc/init.d/rasdaman and a symlink to it +# as /sbin/rcrasdaman. Link to it from the appropriate +# runlevel directories (usually rc3.d and rc5.d). +# Make sure that the base DBMS is launched well before +# rasdaman during boot time, and stopped well before +# at shutdown time. +# +# RETURN VALUES: +# 0 rasdaman server found, is up & running +# 1 rasdaman server not found +# 2 error +# +# COMMENTS: +# - uses start_rasdaman.sh and stop_rasdaman.sh in ~rasdaman/bin/ +# +# Copyright (c) 2003 rasdaman GmbH +# +# +### BEGIN INIT INFO +# Provides: rasdaman +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Description: Start rasdaman and oracle. +### END INIT INFO + +# Source SuSE config +. /etc/rc.config + +# Determine the base and follow a runlevel link name. +base=${0##*/} +link=${base#*[SK][0-9][0-9]} + +# Force execution if not called by a runlevel directory. +test $link = $base && START_RASDAMAN=yes +test "$START_RASDAMAN" = yes || exit 0 + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_failed <num> set local and overall rc status to <num><num> +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - insufficient privilege +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signalling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting rasdaman" + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + + # NOTE: startproc return 0, even if service is + # already running to match LSB spec. + su - rasdaman -c '$HOME/bin/start_rasdaman.sh' + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down rasdaman" + ## Stop daemon with killproc(8) and if this fails + ## set echo the echo return value. + su - rasdaman -c '$HOME/bin/stop_rasdaman.sh' + + # Remember status and be verbose + rc_status -v + ;; + restart) + echo -n "Restarting rasdaman" + ## Like force-reload, but if daemon does not support + ## signalling, do nothing (!) + + # If it supports signalling: + echo -n "Reload service rasdaman" + $0 stop && (sleep 5; $0 start) + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac +rc_exit |