#!/bin/bash ### BEGIN INIT INFO # Provides: jboss # Required-Start: postgresql # Required-Stop: postgresql # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: JBoss 5.1 AS ### END INIT INFO JAVA_HOME=/usr/local/jdk1.6 JBOSS_HOME=/usr/local/jboss JBOSS_SERVER=gazelle JBOSS_BIND=0.0.0.0 JBOSS_USER=jboss JBOSS_CONSOLE=/var/log/jboss/server.log start(){ su ${JBOSS_USER} -s /bin/sh -c "rm -rf ${JBOSS_HOME}/server/${JBOSS_SERVER}/tmp" su ${JBOSS_USER} -s /bin/sh -c "mkdir ${JBOSS_HOME}/server/${JBOSS_SERVER}/tmp" su ${JBOSS_USER} -s /bin/sh -c "rm -rf ${JBOSS_HOME}/server/${JBOSS_SERVER}/log/*" su ${JBOSS_USER} -s /bin/sh -c "rm -rf ${JBOSS_HOME}/server/${JBOSS_SERVER}/work/*" su ${JBOSS_USER} -s /bin/sh -c "rm -rf ${JBOSS_HOME}/server/${JBOSS_SERVER}/data/wsdl/*" CMD="export JAVA_HOME=${JAVA_HOME};${JBOSS_HOME}/bin/run.sh -c ${JBOSS_SERVER} -b ${JBOSS_BIND}" echo Starting JBoss with: $CMD echo Running Jboss as user "${JBOSS_USER}" - log in ${JBOSS_CONSOLE} env - su -l ${JBOSS_USER} -s /bin/sh -c "${CMD} > ${JBOSS_CONSOLE} 2>&1 &" } stop(){ export JBOSS_PID=`ps -efl | grep "${JAVA_HOME}" | grep "${JBOSS_SERVER}" | grep "${JBOSS_BIND}" | awk '{print $4}'` # If a JBoss server is running, we stop it if [ $JBOSS_PID ] then echo "Stopping JBoss AS (${JBOSS_SERVER} for user ${JBOSS_USER})... (kill -9 ${JBOSS_PID})" su ${JBOSS_USER} -s /bin/sh -c "kill -9 ${JBOSS_PID}" else echo "JBoss AS ($JBOSS_SERVER for user $JBOSS_USER) is not started" fi } restart(){ stop sleep 2 start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: local-jboss {start|stop|restart}" exit 1 esac exit 0