]>
Commit | Line | Data |
---|---|---|
1ac9e545 JK |
1 | #!/bin/sh |
2 | # | |
3 | # ejabberd Fault-tolerant distributed Jabber/XMPP server | |
4 | # | |
5 | # chkconfig: 345 99 01 | |
6 | # | |
7 | # description: Fault-tolerant distributed Jabber/XMPP server | |
8 | # | |
9 | ||
10 | ||
11 | # Source function library | |
12 | . /etc/rc.d/init.d/functions | |
13 | ||
14 | # Get service config - may override defaults | |
15 | [ -f /etc/sysconfig/ejabberd ] && . /etc/sysconfig/ejabberd | |
16 | ||
3d3a2093 AM |
17 | [ -z "$NODENAME" ] && NODENAME=$(hostname) |
18 | ||
4dbf34de | 19 | start() { |
1ac9e545 JK |
20 | # Check if the service is already running? |
21 | if [ ! -f /var/lock/subsys/ejabberd ]; then | |
22 | export ERL_MAX_PORTS ERL_FULLSWEEP_AFTER | |
23 | msg_starting ejabberd | |
24 | daemon /usr/sbin/ejabberd | |
25 | RETVAL=$? | |
26 | if [ $RETVAL -eq 0 ]; then | |
27 | touch /var/lock/subsys/ejabberd | |
28 | fi | |
29 | else | |
30 | msg_already_running ejabberd | |
1ac9e545 | 31 | fi |
4dbf34de ER |
32 | } |
33 | ||
34 | stop() { | |
2b23e1a5 | 35 | # Stop daemons. |
1ac9e545 JK |
36 | if [ -f /var/lock/subsys/ejabberd ]; then |
37 | msg_stopping ejabberd | |
3d3a2093 | 38 | /usr/sbin/ejabberdctl ejabberd@${NODENAME} stop 2>/dev/null |
1ac9e545 JK |
39 | RETVAL=$? |
40 | if [ $RETVAL -eq 0 ]; then | |
2b23e1a5 | 41 | ok |
1ac9e545 | 42 | else |
2b23e1a5 | 43 | fail |
1ac9e545 JK |
44 | fi |
45 | rm -f /var/lock/subsys/ejabberd | |
46 | else | |
47 | msg_not_running ejabberd | |
19670d6b | 48 | fi |
4dbf34de ER |
49 | } |
50 | ||
51 | # See how we were called. | |
52 | case "$1" in | |
53 | start) | |
54 | start | |
55 | ;; | |
56 | stop) | |
57 | stop | |
2b23e1a5 | 58 | ;; |
1ac9e545 | 59 | restart) |
4dbf34de | 60 | stop |
f7914f6d | 61 | sleep 2 |
4dbf34de | 62 | start |
2b23e1a5 | 63 | ;; |
64 | reload|force-reload) | |
1ac9e545 JK |
65 | if [ -f /var/lock/subsys/ejabberd ]; then |
66 | msg_reloading ejabberd | |
9de54d21 | 67 | busy |
3d3a2093 | 68 | /usr/sbin/ejabberdctl ejabberd@${NODENAME} restart |
1ac9e545 | 69 | RETVAL=$? |
9de54d21 JK |
70 | if [ $RETVAL -eq 0 ]; then |
71 | ok | |
72 | else | |
73 | RETVAL=1 | |
74 | fail | |
75 | fi | |
1ac9e545 | 76 | else |
784b0c5d | 77 | msg_not_running ejabberd |
2b23e1a5 | 78 | RETVAL=7 |
1ac9e545 JK |
79 | fi |
80 | ;; | |
1ac9e545 | 81 | status) |
4d1f777b | 82 | EPMDOUT=`@libdir@/erlang/bin/epmd -names` |
1ac9e545 JK |
83 | echo "$EPMDOUT" | head -n 1 |
84 | echo "$EPMDOUT" | grep ejabberd | |
85 | RETVAL=$? | |
86 | if [ "$RETVAL" -ne "0" ] ; then | |
87 | if [ -f /var/lock/subsys/ejabberd ]; then | |
88 | nls "%s dead but subsys locked" "ejabberd" | |
89 | RETVAL=2 | |
90 | else | |
91 | nls "%s is stopped" "ejabberd" | |
92 | RETVAL=3 | |
93 | fi | |
94 | fi | |
2b23e1a5 | 95 | ;; |
1ac9e545 JK |
96 | *) |
97 | msg_usage "$0 {start|stop|status|restart|reload|force-reload}" | |
2b23e1a5 | 98 | exit 3 |
1ac9e545 JK |
99 | esac |
100 | ||
101 | exit $RETVAL |