kallithea-daemon-redhat
132 lines
| 2.6 KiB
| text/plain
|
TextLexer
/ init.d / kallithea-daemon-redhat
Bradley M. Kuhn
|
r4190 | #!/bin/sh | ||
######################################## | ||||
#### THIS IS A REDHAT INIT.D SCRIPT #### | ||||
######################################## | ||||
################################################## | ||||
# | ||||
Bradley M. Kuhn
|
r4212 | # Kallithea server startup script | ||
Bradley M. Kuhn
|
r4190 | # Recommended default-startup: 2 3 4 5 | ||
# Recommended default-stop: 0 1 6 | ||||
# | ||||
################################################## | ||||
APP_NAME="kallithea" | ||||
# the location of your app | ||||
# since this is a web app, it should go in /var/www | ||||
APP_PATH="/var/www/$APP_NAME" | ||||
CONF_NAME="production.ini" | ||||
# write to wherever the PID should be stored, just ensure | ||||
Mads Kiilerich
|
r6509 | # that the user you run gearbox as has the appropriate permissions | ||
Bradley M. Kuhn
|
r4190 | # same goes for the log file | ||
PID_PATH="/var/run/kallithea/pid" | ||||
LOG_PATH="/var/log/kallithea/kallithea.log" | ||||
# replace this with the path to the virtual environment you | ||||
Bradley M. Kuhn
|
r4212 | # made for Kallithea | ||
Bradley M. Kuhn
|
r4190 | PYTHON_PATH="/opt/python_virtualenvironments/kallithea-venv" | ||
RUN_AS="kallithea" | ||||
Mads Kiilerich
|
r6509 | DAEMON="$PYTHON_PATH/bin/gearbox" | ||
Bradley M. Kuhn
|
r4190 | |||
DAEMON_OPTS="serve --daemon \ | ||||
--user=$RUN_AS \ | ||||
--group=$RUN_AS \ | ||||
--pid-file=$PID_PATH \ | ||||
Mads Kiilerich
|
r6509 | --log-file=$LOG_PATH -c $APP_PATH/$CONF_NAME" | ||
Bradley M. Kuhn
|
r4190 | |||
DESC="kallithea-server" | ||||
LOCK_FILE="/var/lock/subsys/$APP_NAME" | ||||
# source CentOS init functions | ||||
. /etc/init.d/functions | ||||
RETVAL=0 | ||||
remove_pid () { | ||||
rm -f ${PID_PATH} | ||||
rmdir `dirname ${PID_PATH}` | ||||
} | ||||
ensure_pid_dir () { | ||||
PID_DIR=`dirname ${PID_PATH}` | ||||
if [ ! -d ${PID_DIR} ] ; then | ||||
mkdir -p ${PID_DIR} | ||||
chown -R ${RUN_AS}:${RUN_AS} ${PID_DIR} | ||||
chmod 755 ${PID_DIR} | ||||
fi | ||||
} | ||||
start_kallithea () { | ||||
ensure_pid_dir | ||||
PYTHON_EGG_CACHE="/tmp" daemon --pidfile $PID_PATH \ | ||||
--user $RUN_AS "$DAEMON $DAEMON_OPTS" | ||||
RETVAL=$? | ||||
[ $RETVAL -eq 0 ] && touch $LOCK_FILE | ||||
return $RETVAL | ||||
} | ||||
stop_kallithea () { | ||||
if [ -e $LOCK_FILE ]; then | ||||
killproc -p $PID_PATH | ||||
RETVAL=$? | ||||
rm -f $LOCK_FILE | ||||
rm -f $PID_PATH | ||||
else | ||||
RETVAL=1 | ||||
fi | ||||
return $RETVAL | ||||
} | ||||
status_kallithea() { | ||||
if [ -e $LOCK_FILE ]; then | ||||
# exit with non-zero to indicate failure | ||||
RETVAL=1 | ||||
else | ||||
RETVAL=0 | ||||
fi | ||||
return $RETVAL | ||||
} | ||||
restart_kallithea () { | ||||
stop_kallithea | ||||
start_kallithea | ||||
RETVAL=$? | ||||
} | ||||
case "$1" in | ||||
start) | ||||
echo -n $"Starting $DESC: " | ||||
start_kallithea | ||||
echo | ||||
;; | ||||
stop) | ||||
echo -n $"Stopping $DESC: " | ||||
stop_kallithea | ||||
echo | ||||
;; | ||||
status) | ||||
status_kallithea | ||||
RETVAL=$? | ||||
if [ ! $RETVAL -eq 0 ]; then | ||||
Bradley M. Kuhn
|
r4212 | echo "Kallithea server is running..." | ||
Bradley M. Kuhn
|
r4190 | else | ||
Bradley M. Kuhn
|
r4212 | echo "Kallithea server is stopped." | ||
Bradley M. Kuhn
|
r4190 | fi | ||
;; | ||||
restart) | ||||
echo -n $"Restarting $DESC: " | ||||
restart_kallithea | ||||
echo | ||||
;; | ||||
*) | ||||
echo $"Usage: $0 {start|stop|restart|status}" | ||||
RETVAL=1 | ||||
;; | ||||
esac | ||||
Mads Kiilerich
|
r6333 | exit $RETVAL | ||