annotate init.d/rhodecode-daemon3 @ 1542:238b2805851f beta

added a RedHat-based init.d startup script
author Les Peabody <lpeabody@gmail.com>
date Tue, 11 Oct 2011 02:13:32 -0400
parents
children a7bee2a5de67
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1542
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
1 #!/bin/sh
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
2 ##################################################
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
3 #
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
4 # RhodeCode server startup script
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
5 # Recommended default-startup: 2 3 4 5
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
6 # Recommended default-stop: 0 1 6
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
7 #
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
8 ##################################################
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
9
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
10
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
11 APP_NAME="rhodecode"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
12 # the location of your app
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
13 # since this is a web app, it should go in /var/www
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
14 APP_PATH="/var/www/$APP_NAME"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
15
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
16 CONF_NAME="production.ini"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
17
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
18 # write to wherever the PID should be stored, just ensure
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
19 # that the user you run paster as has the appropriate permissions
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
20 # same goes for the log file
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
21 PID_PATH="/var/run/rhodecode/pid"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
22 LOG_PATH="/var/log/rhodecode/rhodecode.log"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
23
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
24 # replace this with the path to the virtual environment you
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
25 # made for RhodeCode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
26 PYTHON_PATH="/opt/python_virtualenvironments/rhodecode-venv"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
27
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
28 RUN_AS="rhodecode"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
29
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
30 DAEMON="$PYTHON_PATH/bin/paster"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
31
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
32 DAEMON_OPTS="serve --daemon \
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
33 --user=$RUN_AS \
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
34 --group=$RUN_AS \
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
35 --pid-file=$PID_PATH \
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
36 --log-file=$LOG_PATH $APP_PATH/$CONF_NAME"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
37
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
38 DESC="rhodecode-server"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
39 LOCK_FILE="/var/lock/subsys/$APP_NAME"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
40
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
41 # source CentOS init functions
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
42 . /etc/init.d/functions
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
43
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
44 RETVAL=0
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
45
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
46 remove_pid () {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
47 rm -f ${PID_PATH}
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
48 rmdir `dirname ${PID_PATH}`
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
49 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
50
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
51 ensure_pid_dir () {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
52 PID_DIR=`dirname ${PID_PATH}`
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
53 if [ ! -d ${PID_DIR} ] ; then
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
54 mkdir -p ${PID_DIR}
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
55 chown -R ${RUN_AS}:${RUN_AS} ${PID_DIR}
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
56 chmod 755 ${PID_DIR}
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
57 fi
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
58 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
59
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
60 start_rhodecode () {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
61 ensure_pid_dir
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
62 PYTHON_EGG_CACHE="/tmp" daemon --pidfile $PID_PATH \
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
63 --user $RUN_AS "$DAEMON $DAEMON_OPTS"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
64 RETVAL=$?
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
65 [ $RETVAL -eq 0 ] && touch $LOCK_FILE
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
66 return $RETVAL
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
67 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
68
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
69 stop_rhodecode () {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
70 if [ -e $LOCK_FILE ]; then
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
71 killproc -p $PID_PATH
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
72 RETVAL=$?
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
73 rm -f $LOCK_FILE
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
74 rm -f $PID_PATH
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
75 else
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
76 RETVAL=1
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
77 fi
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
78 return $RETVAL
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
79 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
80
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
81 status_rhodecode() {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
82 if [ -e $LOCK_FILE ]; then
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
83 # exit with non-zero to indicate failure
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
84 RETVAL=1
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
85 else
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
86 RETVAL=0
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
87 fi
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
88 return $RETVAL
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
89 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
90
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
91 restart_rhodecode () {
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
92 stop_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
93 start_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
94 RETVAL=$?
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
95 }
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
96
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
97 case "$1" in
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
98 start)
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
99 echo -n $"Starting $DESC: "
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
100 start_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
101 echo
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
102 ;;
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
103 stop)
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
104 echo -n $"Stopping $DESC: "
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
105 stop_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
106 echo
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
107 ;;
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
108 status)
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
109 status_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
110 RETVAL=$?
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
111 if [ ! $RETVAL -eq 0 ]; then
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
112 echo "RhodeCode server is running..."
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
113 else
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
114 echo "RhodeCode server is stopped."
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
115 fi
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
116 ;;
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
117 restart)
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
118 echo -n $"Restarting $DESC: "
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
119 restart_rhodecode
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
120 echo
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
121 ;;
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
122 *)
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
123 echo $"Usage: $0 {start|stop|restart|status}"
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
124 RETVAL=1
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
125 ;;
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
126 esac
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
127
238b2805851f added a RedHat-based init.d startup script
Les Peabody <lpeabody@gmail.com>
parents:
diff changeset
128 exit $RETVAL