Mercurial > kallithea
annotate init.d/rhodecode-daemon4 @ 3733:af049a957506 beta
fixed default permissions population during upgrades
- it often happen that introducing new permission
caused default permission to reset it's state to installation
default.
new version makes sure that only missing permissions are
created while leaving old defaults
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 10 Apr 2013 02:55:21 +0200 |
parents | 0dc18e9a3150 |
children |
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 |