From db417346edcbeded95a17fd3eceb9be5603e9f23 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Fri, 8 Dec 2006 16:07:55 +0000 Subject: [PATCH] Added file SVN revision: 1774 --- elogd.init_solaris | 180 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 elogd.init_solaris diff --git a/elogd.init_solaris b/elogd.init_solaris new file mode 100644 index 00000000..921ffebc --- /dev/null +++ b/elogd.init_solaris @@ -0,0 +1,180 @@ +#!/bin/sh + +# chkconfig: 3 90 10 +# description: ELOG is a weblog with integrated database +# processname: elogd +# config: /usr/local/gt-compile/elog/elogd.cfg +# pidfile: /var/run/elogd.pid +# +# Changelog: +# 2006-11-22: some modification for Solaris OS (Thier) + +############################################################################### +# check OS +case `uname -s` in + 'SunOS') + # shell-built-in echo isn't nice + # use echo binary and don't do a nl + MY_ECHO () + { + /usr/bin/echo "${*} \c" + } + + # we have a great OS, but no function library ;-) + echo_failure () + { + echo "... failed." + } + + echo_success () + { + echo "... OK." + } + + touch_subsys () + { + echo >/dev/null + } + + rm_subsys() + { + echo >/dev/null + } + + ;; + *) + # default behaviour (e.g. Linux) + + MY_ECHO="`which echo`" + # Source function library. + . /etc/rc.d/init.d/functions + + touch_subsys () + { + touch ${SUBSYSFILE} + } + + rm_subsys () + { + rm ${SUBSYSFILE} + } + + ;; +esac + +############################################################################### +# special configuration + +# where the PIDFILE should go +PIDFILE="/var/run/elogd.pid" + +# where the status file should go +SUBSYSFILE="/var/lock/subsys/elogd" + +# PREFIX-directory +# (e.g. elogd.cfg is supposed to be in +# ${PREFIX}/elog ) +PREFIX="/usr/local/gt-compile" + +# elogd configuration +ELOGDCFG="${PREFIX}/elog/elogd.cfg" + +# elogd binary +ELOGD="${PREFIX}/sbin/elogd" + +# elogd start cmd +ELOGDSTART="${ELOGD} -D -c ${ELOGDCFG}" + + +############################################################################### +# MAIN + +# Check for the config file and the elogd +if [ ! -f "${ELOGDCFG}" -o ! -f "${ELOGD}" ]; then + exit 0 +fi + +# SUB: check if elogd is running +elogd_status () +# 0: not running +# 1: running and PID-file OK +{ + if [ -f ${PIDFILE} ] ; then + pid=`cat ${PIDFILE}` + if [ -d /proc/${pid} ] ; then + return 1 + else + return 0 + fi + else + return 0 + fi +} + + +# See how we were called. +case "$1" in + start) + elogd_status + if [ ${?} -eq 1 ] ; then + MY_ECHO "elogd already running" + echo_failure + exit 1 + else + # delete pid-file + rm -f ${PIDFILE} >/dev/null 2>&1 + fi + MY_ECHO "Starting elogd: " + + # let elog make the changeuser + ${ELOGDSTART} >/dev/null 2>&1 + + # successfull start? + elogd_status + if [ ${?} -eq 1 ] ; then + touch_subsys + echo_success + else + echo_failure + fi + echo + ;; + stop) + elogd_status + if [ ${?} -eq 1 ] ; then + MY_ECHO "Stoping elogd: " + /bin/kill `cat ${PIDFILE}` >/dev/null 2>&1 + rm_subsys + rm -f ${PIDFILE} >/dev/null 2>&1 + echo_success + echo + exit 0 + else + MY_ECHO "No elogd running? \c" + echo_failure + echo + exit 1 + fi + ;; + restart|reload) + $0 stop + sleep 1 + $0 start + ;; + status) + elogd_status + if [ ${?} -eq 1 ] ; then + MY_ECHO "elogd running" + echo + else + MY_ECHO "elogd not running" + echo + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 +esac + +exit 0 +