rhodecode-daemon3
127 lines
| 2.5 KiB
| text/plain
|
TextLexer
/ init.d / rhodecode-daemon3
Les Peabody
|
r1542 | #!/bin/sh | |
################################################## | |||
# | |||
# RhodeCode server startup script | |||
# Recommended default-startup: 2 3 4 5 | |||
# Recommended default-stop: 0 1 6 | |||
# | |||
################################################## | |||
APP_NAME="rhodecode" | |||
# 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 | |||
# that the user you run paster as has the appropriate permissions | |||
# same goes for the log file | |||
PID_PATH="/var/run/rhodecode/pid" | |||
LOG_PATH="/var/log/rhodecode/rhodecode.log" | |||
# replace this with the path to the virtual environment you | |||
# made for RhodeCode | |||
PYTHON_PATH="/opt/python_virtualenvironments/rhodecode-venv" | |||
RUN_AS="rhodecode" | |||
DAEMON="$PYTHON_PATH/bin/paster" | |||
DAEMON_OPTS="serve --daemon \ | |||
--user=$RUN_AS \ | |||
--group=$RUN_AS \ | |||
--pid-file=$PID_PATH \ | |||
--log-file=$LOG_PATH $APP_PATH/$CONF_NAME" | |||
DESC="rhodecode-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_rhodecode () { | |||
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_rhodecode () { | |||
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_rhodecode() { | |||
if [ -e $LOCK_FILE ]; then | |||
# exit with non-zero to indicate failure | |||
RETVAL=1 | |||
else | |||
RETVAL=0 | |||
fi | |||
return $RETVAL | |||
} | |||
restart_rhodecode () { | |||
stop_rhodecode | |||
start_rhodecode | |||
RETVAL=$? | |||
} | |||
case "$1" in | |||
start) | |||
echo -n $"Starting $DESC: " | |||
start_rhodecode | |||
echo | |||
;; | |||
stop) | |||
echo -n $"Stopping $DESC: " | |||
stop_rhodecode | |||
echo | |||
;; | |||
status) | |||
status_rhodecode | |||
RETVAL=$? | |||
if [ ! $RETVAL -eq 0 ]; then | |||
echo "RhodeCode server is running..." | |||
else | |||
echo "RhodeCode server is stopped." | |||
fi | |||
;; | |||
restart) | |||
echo -n $"Restarting $DESC: " | |||
restart_rhodecode | |||
echo | |||
;; | |||
*) | |||
echo $"Usage: $0 {start|stop|restart|status}" | |||
RETVAL=1 | |||
;; | |||
esac | |||
exit $RETVAL |