Mercurial > kallithea
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 |
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 |