diff --git a/etc/init.d/dm-daq-web-service b/etc/init.d/dm-daq-web-service new file mode 100755 index 0000000000000000000000000000000000000000..f25537d74d6fe5fc0a25f34bf2657ce1ef629dcd --- /dev/null +++ b/etc/init.d/dm-daq-web-service @@ -0,0 +1,123 @@ +#!/bin/bash + +# +# dm-daq-web-service +# +# Starts the DM WebService daemon +# +# chkconfig: 345 98 98 +# description: controls DM Web Service daemon + +### BEGIN INIT INFO +# Provides: dm-daq-web-service +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: Controls DM DAQ Web Service daemon +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Arguments +ACTION=$1 +DM_DB_NAME=$2 +DM_DB_NAME=${DM_DB_NAME:=dm} + +# Set root to default if needed. +MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd` +if [ -z "${DM_ROOT_DIR}" ]; then + DM_ROOT_DIR=$MY_DIR/../.. +fi + +# Source environment file. +DM_USER=`id -nu` +DM_HOST=`hostname -s` +DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh +if [ ! -f ${DM_ENV_FILE} ]; then + echo "Environment file ${DM_ENV_FILE} does not exist." + exit 2 +fi +. ${DM_ENV_FILE} > /dev/null + +mkdir -p ${DM_INSTALL_DIR}/var/run +mkdir -p ${DM_INSTALL_DIR}/var/log + +DM_DAEMON_NAME="${DM_DB_NAME}.DaqWebService" +DM_DAEMON_CMD=${DM_ROOT_DIR}/sbin/daqWebService.py +DM_PID_FILE=${DM_INSTALL_DIR}/var/run/${DM_DB_NAME}.daq-web-service.pid +DM_CONFIG_FILE=${DM_INSTALL_DIR}/etc/${DM_DB_NAME}.daq-web-service.conf +DM_DAEMON_START_ARGS="-d -p $DM_PID_FILE --config-file $DM_CONFIG_FILE" + +# Determine su command +SU=su +if [ -x /sbin/runuser ]; then + SU=runuser +fi + +RETVAL=0 +start() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -eq 0 ]; then + PID=`cat $DM_PID_FILE` + echo $"$DM_DAEMON_NAME daemon is already running (pid: $PID)." + RETVAL=1 + return $RETVAL + fi + echo -n $"Starting $DM_DAEMON_NAME daemon: " + # Check if we're a privileged user + if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then + $SU -m -c "${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER} + else + ${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS} + fi + RETVAL=$? + [ $RETVAL -eq 0 ] && success $"$DM_DAEMON_NAME startup" || failure $"$DM_DAEMON_NAME startup" + echo + return $RETVAL +} + +stop() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo $"$DM_DAEMON_NAME daemon is not running." + RETVAL=1 + return $RETVAL + fi + echo -n $"Stopping $DM_DAEMON_NAME daemon: " + PID=`cat $DM_PID_FILE` + kill $PID + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown" + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$ACTION" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status -p $DM_PID_FILE "$DM_DAEMON_NAME" + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}" + RETVAL=2 +esac + +exit $RETVAL diff --git a/etc/init.d/dm-ds-web-service b/etc/init.d/dm-ds-web-service new file mode 100755 index 0000000000000000000000000000000000000000..0f1365e38a30758b3ded8782ba2890302aa737c6 --- /dev/null +++ b/etc/init.d/dm-ds-web-service @@ -0,0 +1,123 @@ +#!/bin/bash + +# +# dm-ds-web-service +# +# Starts the DM WebService daemon +# +# chkconfig: 345 98 98 +# description: controls DM Web Service daemon + +### BEGIN INIT INFO +# Provides: dm-ds-web-service +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: Controls DM DS Web Service daemon +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Arguments +ACTION=$1 +DM_DB_NAME=$2 +DM_DB_NAME=${DM_DB_NAME:=dm} + +# Set root to default if needed. +MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd` +if [ -z "${DM_ROOT_DIR}" ]; then + DM_ROOT_DIR=$MY_DIR/../.. +fi + +# Source environment file. +DM_USER=`id -nu` +DM_HOST=`hostname -s` +DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh +if [ ! -f ${DM_ENV_FILE} ]; then + echo "Environment file ${DM_ENV_FILE} does not exist." + exit 2 +fi +. ${DM_ENV_FILE} > /dev/null + +mkdir -p ${DM_INSTALL_DIR}/var/run +mkdir -p ${DM_INSTALL_DIR}/var/log + +DM_DAEMON_NAME="${DM_DB_NAME}.DsWebService" +DM_DAEMON_CMD=${DM_ROOT_DIR}/sbin/dsWebService.py +DM_PID_FILE=${DM_INSTALL_DIR}/var/run/${DM_DB_NAME}.ds-web-service.pid +DM_CONFIG_FILE=${DM_INSTALL_DIR}/etc/${DM_DB_NAME}.ds-web-service.conf +DM_DAEMON_START_ARGS="-d -p $DM_PID_FILE --config-file $DM_CONFIG_FILE" + +# Determine su command +SU=su +if [ -x /sbin/runuser ]; then + SU=runuser +fi + +RETVAL=0 +start() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -eq 0 ]; then + PID=`cat $DM_PID_FILE` + echo $"$DM_DAEMON_NAME daemon is already running (pid: $PID)." + RETVAL=1 + return $RETVAL + fi + echo -n $"Starting $DM_DAEMON_NAME daemon: " + # Check if we're a privileged user + if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then + $SU -m -c "${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER} + else + ${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS} + fi + RETVAL=$? + [ $RETVAL -eq 0 ] && success $"$DM_DAEMON_NAME startup" || failure $"$DM_DAEMON_NAME startup" + echo + return $RETVAL +} + +stop() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo $"$DM_DAEMON_NAME daemon is not running." + RETVAL=1 + return $RETVAL + fi + echo -n $"Stopping $DM_DAEMON_NAME daemon: " + PID=`cat $DM_PID_FILE` + kill $PID + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown" + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$ACTION" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status -p $DM_PID_FILE "$DM_DAEMON_NAME" + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}" + RETVAL=2 +esac + +exit $RETVAL