etc.init.d.zope
init.d script for Zope server, tuned for local installation
Size 1.9 kB - File type text/x-shFile 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


