]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd.init
- fix logdb bcond
[packages/ejabberd.git] / ejabberd.init
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
17 [ -z "$NODENAME" ] && NODENAME=$(hostname)
18
19 start() {
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
31         fi
32 }
33
34 stop() {
35         # Stop daemons.
36         if [ -f /var/lock/subsys/ejabberd ]; then
37                 msg_stopping ejabberd
38                 /usr/sbin/ejabberdctl ejabberd@${NODENAME} stop 2>/dev/null
39                 RETVAL=$?
40                 if [ $RETVAL -eq 0 ]; then
41                         ok
42                 else
43                         fail
44                 fi
45                 rm -f /var/lock/subsys/ejabberd
46         else
47                 msg_not_running ejabberd
48         fi
49 }
50
51 # See how we were called.
52 case "$1" in
53   start)
54         start
55         ;;
56   stop)
57         stop
58         ;;
59   restart)
60         stop
61         sleep 2
62         start
63         ;;
64   reload|force-reload)
65         if [ -f /var/lock/subsys/ejabberd ]; then
66                 msg_reloading ejabberd
67                 busy
68                 /usr/sbin/ejabberdctl ejabberd@${NODENAME} restart
69                 RETVAL=$?
70                 if [ $RETVAL -eq 0 ]; then
71                     ok
72                 else
73                     RETVAL=1
74                     fail
75                 fi
76         else
77                 msg_not_running ejabberd
78                 RETVAL=7
79         fi
80         ;;
81   status)
82         EPMDOUT=`@libdir@/erlang/bin/epmd -names`
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
95         ;;
96   *)
97         msg_usage "$0 {start|stop|status|restart|reload|force-reload}"
98         exit 3
99 esac
100
101 exit $RETVAL
This page took 0.060931 seconds and 3 git commands to generate.