This is a init script for lenya. For use on the system start/down.
The script needs teh wget program on the path to connect to the administration server an shutdown it.
#!/bin/sh # # LENYA - start and stop the LENYA client daemon on Unix # # config: /etc/sysconfig/lenya # ### BEGIN INIT INFO # Provides: lenya # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Description: This script starts the local LENYA client as a daemon ### END INIT INFO ######################################################################## # Defaults, which can be overridden by /etc/sysconfig/lenya LENYAUSER=lenya LENYADIR=/home/lenya/apache-lenya-1.2.3-src LOGFILE=/var/log/lenya.log ERRORLOG=$LOGFILE # Just set the path to what is needed, nothing more (for security) PATH=/sbin:/bin:/usr/sbin:/usr/bin export PATH # Init script function library. This stuff is Red Hat specific, # but if the functions are not found we create our own simple replacements. if [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else function echo_success () { echo -n " [ OK ] " ; } function echo_failure () { echo -n " [FAILED] " ; } function echo_warning () { echo -n " [WARNING] " ; } function killproc() { PID=`pidof -s -x -o $$ -o $PPID -o %PPID $1` [ $PID ] && kill $PID ; } fi # su on Linux seems to need this to be set to work properly export TERM dumb # Look for any local configuration settings: if [ -f /etc/sysconfig/lenya ]; then . /etc/sysconfig/lenya fi ## Locate the working directory if [ ! -d $LENYADIR ]; then echo "Cannot find LENYA directory $LENYADIR " exit 7 fi ## Locate the executable, either lenya_client, ## or lenya with highest version number LENYAEXE=$LENYADIR/lenya.sh if [ ! -x $LENYAEXE ]; then LENYAEXE=`/bin/ls -1 $LENYADIR/lenya_*_$BUILD_ARCH 2>/dev/null | tail -1 ` fi if [ ! -x "$LENYAEXE" ]; then echo "Cannot find/run LENYA executable. $LENYAEXE " exit 2 fi ## Functions: $1 is start/stop/status/restart case "$1" in start) cd $LENYADIR echo -n "Starting LENYA server as a daemon: " su $LENYAUSER -c "$LENYAEXE servlet-admin" >>$LOGFILE 2>>$ERRORLOG & sleep 1 PID=`pidof -s -x -o $$ -o $PPID -o %PPID $LENYAEXE` if [ $PID ]; then touch $LOCKDIR/lenya echo_success else echo_failure fi echo ;; stop) cd $LENYADIR echo -n "Stopping LENYA client daemon: " wget -q -O /dev/null http://127.0.0.1:8889/?A=Exit%20All%20Servers && echo_success || echo_failure # clean up in any case rm -f $LOCKDIR/lenya echo ;; restart) $0 stop $0 start ;; status) PID=`pidof -x -o $$ -o $PPID -o %PPID lenya_client` if [ "$PID" == "" ]; then PID=`pidof -x -o $$ -o $PPID -o %PPID $LENYAEXE` fi if [ "$PID" != "" ]; then echo "LENYA client is running (pid $PID)." else if [ -f $LOCKDIR/lenya ]; then echo "LENYA is stopped but lockfile exists." else echo "LENYA client is stopped." fi fi ;; *) echo "Usage: lenya {start|stop|restart|status}" exit 1 esac exit