annotate init.d/rhodecode-daemon4 @ 3181:efe23d6c178c rhodecode-0.0.1.5.2

merged with beta
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 21 Jan 2013 00:49:59 +0100
parents 0dc18e9a3150
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2114
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
1 #!/bin/bash
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
2 ###########################################
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
3 #### THIS IS AN ARCH LINUX RC.D SCRIPT ####
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
4 ###########################################
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
5
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
6 . /etc/rc.conf
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
7 . /etc/rc.d/functions
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
8
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
9 DAEMON=rhodecode
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
10 APP_HOMEDIR="/srv"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
11 APP_PATH="$APP_HOMEDIR/$DAEMON"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
12 CONF_NAME="production.ini"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
13 LOG_FILE="/var/log/$DAEMON.log"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
14 PID_FILE="/run/daemons/$DAEMON"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
15 APPL=/usr/bin/paster
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
16 RUN_AS="*****"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
17
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
18 ARGS="serve --daemon \
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
19 --user=$RUN_AS \
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
20 --group=$RUN_AS \
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
21 --pid-file=$PID_FILE \
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
22 --log-file=$LOG_FILE \
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
23 $APP_PATH/$CONF_NAME"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
24
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
25 [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
26
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
27 if [[ -r $PID_FILE ]]; then
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
28 read -r PID < "$PID_FILE"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
29 if [[ $PID && ! -d /proc/$PID ]]; then
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
30 unset PID
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
31 rm_daemon $DAEMON
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
32 fi
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
33 fi
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
34
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
35 case "$1" in
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
36 start)
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
37 stat_busy "Starting $DAEMON"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
38 export HOME=$APP_PATH
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
39 [ -z "$PID" ] && $APPL $ARGS &>/dev/null
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
40 if [ $? = 0 ]; then
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
41 add_daemon $DAEMON
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
42 stat_done
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
43 else
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
44 stat_fail
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
45 exit 1
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
46 fi
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
47 ;;
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
48 stop)
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
49 stat_busy "Stopping $DAEMON"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
50 [ -n "$PID" ] && kill $PID &>/dev/null
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
51 if [ $? = 0 ]; then
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
52 rm_daemon $DAEMON
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
53 stat_done
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
54 else
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
55 stat_fail
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
56 exit 1
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
57 fi
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
58 ;;
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
59 restart)
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
60 $0 stop
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
61 sleep 1
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
62 $0 start
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
63 ;;
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
64 status)
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
65 stat_busy "Checking $name status";
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
66 ck_status $name
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
67 ;;
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
68 *)
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
69 echo "usage: $0 {start|stop|restart|status}"
0dc18e9a3150 added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
70 esac