Project

General

Profile

Download (2.3 KB) Statistics
| Branch: | Tag: | Revision:
#!/bin/bash
#
# Init script for foreman
#
# chkconfig: - 85 15
# description: Init script for foreman

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

if [ -f /etc/sysconfig/foreman ]; then
. /etc/sysconfig/foreman
fi

prog=foreman
RETVAL=0
FOREMAN_PORT=${FOREMAN_PORT:-3000}
FOREMAN_USER=${FOREMAN_USER:-foreman}
FOREMAN_HOME=${FOREMAN_HOME:-/usr/share/foreman}
FOREMAN_ENV=${FOREMAN_ENV:-production}
FOREMAN_PID=${FOREMAN_PID:-${FOREMAN_HOME}/tmp/pids/server.pid}
FOREMAN_USE_PASSENGER=${FOREMAN_USE_PASSENGER:-0}

start() {
echo -n $"Starting $prog: "
daemon --user ${FOREMAN_USER} /usr/bin/ruby ${FOREMAN_HOME}/script/server -p ${FOREMAN_PORT} -e ${FOREMAN_ENV} -d > /dev/null
RETVAL=$?
if [ $RETVAL = 0 ]
then
echo_success
else
echo_failure
fi

echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
if [ -f ${FOREMAN_PID} ]; then
killproc -p ${FOREMAN_PID}
RETVAL=$?
else
echo -n $"Foreman was not running.";
failure $"Foreman was not running.";
echo
return 1
fi
echo
return $RETVAL
}

railsrestart() {
echo -n $"Restarting foreman rails app: "
touch "${FOREMAN_HOME}/tmp/restart.txt"
RETVAL=$?
if [ $RETVAL = 0 ]
then
echo_success
else
echo_failure
fi

echo
return $RETVAL
}

# See how we were called.
case "$1" in
start|stop)
if [ ${FOREMAN_USE_PASSENGER} = 1 ]
then
echo -n "Foreman is running under passenger"
echo_passed
echo
else
$1
fi
RETVAL=$?
;;
restart)
if [ ${FOREMAN_USE_PASSENGER} = 1 ]
then
railsrestart
RETVAL=$?
else
stop
start
RETVAL?$?
fi
;;
status)
echo -n "Foreman"
if [ ${FOREMAN_USE_PASSENGER} = 1 ]
then
echo -n " is running under passenger"
echo_passed
echo
else
status -p $FOREMAN_PID
fi
RETVAL=$?
;;
condrestart)
if [ -f ${FOREMAN_HOME}/tmp/pids/server.pid ]; then
restart
RETVAL=$?
fi
;;

*)
echo $"Usage: $prog {start|stop|restart|condrestart}"
exit 1
esac

exit $RETVAL
(1-1/4)