Personal tools
You are here: Home Members zopeadmin scripts etc.init.d.zope
Document Actions

etc.init.d.zope

init.d script for Zope server, tuned for local installation

Click here to get the file

Size 1.9 kB - File type text/x-sh

File contents

#!/bin/bash
#
# /etc/rc.d/init.d/zope
#
# Starts the zope daemon - by Erik Norvelle
# Based on code by Markoer
#
# chkconfig: 35 87 12
# description: Starts and stops the Zope web 
# application server
# processname: zope
# pidfile: /var/run/zope.pid

# Source function library.
. /etc/rc.d/init.d/functions

#ZOPE_HOME=/home/zope
ZOPE_HOME=/data1/OKA/zope

function cleanup {
    rm -f /var/run/zope.pid
    rm -f $ZOPE_HOME/var/lock-zope
    rm -f $ZOPE_HOME/var/Z2.pid
    rm -f $ZOPE_HOME/var/pcgi.soc
    rm -f $ZOPE_HOME/var/Data.fs.lock
    rm -f $ZOPE_HOME/var/zProcessManager.pid
}

case "$1" in
    start)
# Check if zope is already running
	ZOPES="`ps ax | grep 'z2\.py'`"
	if [ "$ZOPES" = "" ]; then
	    echo -n 'Starting zope daemon: '
	    cleanup
	    su -l zope -s /bin/sh -c \
              "$ZOPE_HOME/bin/zopectl start > \
	       /dev/null 2> \
	       $ZOPE_HOME/var/startup.log &"
	    while : ; do
		[ -f $ZOPE_HOME/var/Z2.pid ] && break
		sleep 1 && echo -n "." 
	    done
	    cat $ZOPE_HOME/var/Z2.pid > \
	    $ZOPE_HOME/var/lock-zope
	    touch $ZOPE_HOME/var/lock-zope
	    ln -s $ZOPE_HOME/var/Z2.pid \
		/var/run/zope.pid
	    touch $ZOPE_HOME/var/run-zope
	    echo_success
	else
	    echo -n 'Zope already running: '
	    echo_failure
	fi
	echo
	;;

    stop)
	echo -n 'Stopping zope daemon: '
	[ -f $ZOPE_HOME/var/Z2.pid ] && kill \
          `cat $ZOPE_HOME/var/Z2.pid`
	cleanup
	echo_success
	echo
	;;

    reload|restart)
	$0 stop
	sleep 2
	$0 start
	;;

    status)
	if [ -f $ZOPE_HOME/var/Z2.pid ]; then
	    cat $ZOPE_HOME/var/Z2.pid > \
	        $ZOPE_HOME/var/lock-zope
	    touch /var/lock/subsys/zope 
#	    cat $ZOPE_HOME/var/Z2.pid > \
#		/var/run/zope.pid
	    touch $ZOPE_HOME/var/run-zope
	    echo -n "zope (pid "
	    echo -n `head -1 /var/run/zope.pid`
	    echo ") is running..."
	fi
	;;
    *)
	echo -n "Usage: /etc/rc.d/init.d/zope "
	echo "{start|stop|restart|reload|status}"
	exit 1
esac

exit 0
by portal administrator last modified March 20, 2006 at 14:05

Powered by Plone, the Open Source Content Management System