summaryrefslogtreecommitdiffstats
path: root/bin/rasdaman
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rasdaman')
-rw-r--r--bin/rasdaman114
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