diff options
Diffstat (limited to 'setup/openerp-server.init')
| -rw-r--r-- | setup/openerp-server.init | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/setup/openerp-server.init b/setup/openerp-server.init new file mode 100644 index 00000000000..41efb5c35ce --- /dev/null +++ b/setup/openerp-server.init @@ -0,0 +1,147 @@ +#!/bin/bash +# openerp-server This shell script takes care of starting and stopping +# OpenERP server +# +# chkconfig: 345 95 05 +# description: OpenERP server +# +# pidfile: /var/run/openerp-server.pid +# config: /etc/openerp-server.conf + +### BEGIN INIT INFO +# Provides: openerp-server +# Required-Start: postgresql +# Required-Stop: postgresql +# Should-Start: $network harddrake +# Default-Start: 345 +# Short-Description: Launches the OpenERP server. +# Description: This startup script launches the OpenERP server. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +PIDFILE=/var/run/openerp/openerp-server.pid +LOCKFILE=/var/lock/subsys/openerp-server +LOGFILE=/var/log/openerp/openerp-server.log + +OPTS="--pidfile=$PIDFILE --logfile=$LOGFILE" + +prog="openerp-server" +desc="OpenERP Server Daemon" + +# check if the openerp-server conf file is present, then use it +if [ -f /etc/openerp-server.conf ]; then + OPTS="$OPTS -c /etc/openerp-server.conf" +fi + +# Source function library +if [ -f /etc/init.d/functions ] ; then + . /etc/init.d/functions +elif [ -f /etc/rc.d/init.d/functions ] ; then + . /etc/rc.d/init.d/functions +else + exit 0 +fi + +# check the existence of the openerp-server script +[ -z "/usr/bin/openerp-server" ] && exit 0 + +RETVAL=0 + +start() { + if [ -d /etc/openerp/start.d ] ; then + echo -n $"Preparing $desc: " + run-parts --exit-on-error /etc/openerp/start.d + RETVAL=$? + echo + [ $RETVAL -ne 0 ] && return $RETVAL + fi + + echo -n $"Starting $desc ($prog): " + daemon --user openerp --check openerp-server \ + "/usr/bin/setsid /usr/bin/openerp-server \ + -c /etc/openerp-server.conf \ + --pidfile=$PIDFILE \ + --logfile=$LOGFILE &" + + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch $LOCKFILE + return $RETVAL +} + +stop() { + echo -n $"Stopping $desc ($prog): " + kill -TERM `cat $PIDFILE` > /dev/null 2>&1 + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + rm -f $LOCKFILE + + echo_success + echo + else + echo_failure + echo + fi + if [ -d /etc/openerp/stop.d ] ; then + echo -n $"Clearing $desc: " + run-parts /etc/openerp/stop.d + echo + fi + return $RETVAL +} + +restart() { + stop + start +} + +condrestart() { + [ -e $LOCKFILE ] && restart || : +} + +status() { + if [ -f $PIDFILE ] ; then + checkpid `cat $PIDFILE` + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + echo $"$prog is running..." + else + echo $"$prog is stopped" + fi + else + echo $"$prog is stopped" + fi + return $RETVAL +} + +case "$1" in +start) + start + ;; + +stop) + stop + ;; + +restart|reload) + restart + ;; + +condrestart) + condrestart + ;; + +status) + status + ;; + +probe) + exit 0 + ;; + +*) + echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" + exit 1 +esac |
