diff options
Diffstat (limited to 'src/openfire/openfire')
-rwxr-xr-x | src/openfire/openfire | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/openfire/openfire b/src/openfire/openfire new file mode 100755 index 0000000..f260a71 --- /dev/null +++ b/src/openfire/openfire @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/profile.d/jre.sh + +[ -f "/etc/conf.d/openfire" ] && . /etc/conf.d/openfire + +OPENFIRE_HOME="/usr/share/openfire" +OPENFIRE_LOGDIR="/var/log/openfire" +OPENFIRE_LIB="/usr/lib/openfire" + +OPENFIRE_RUN_CMD="java -server ${OPENFIRE_OPTS} -DopenfireHome=${OPENFIRE_HOME} -Dopenfire.lib.dir=${OPENFIRE_LIB} -classpath ${OPENFIRE_LIB}/startup.jar -jar ${OPENFIRE_LIB}/startup.jar" + + +case "$1" in + start) + stat_busy "Starting Openfire Daemon" + + rm -f $OPENFIRE_LOGDIR/nohup.out + su -s /bin/sh -c "nohup $OPENFIRE_RUN_CMD > $OPENFIRE_LOGDIR/nohup.out 2>&1 &" openfire + sleep 2 + + RETVAL=$? + PID=`ps ax --width=1000 | grep openfire | grep startup.jar | awk '{print $1}'` + + if [ $RETVAL -eq 0 -a ! -z "$PID" ]; then + echo $PID > /var/run/openfire.pid + + add_daemon openfire + sleep 2 + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping Openfire Daemon" + + kill `cat /var/run/openfire.pid` + + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /var/run/openfire.pid + rm_daemon openfire + stat_done + fi + ;; + restart) + $0 stop + sleep 10 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac |