]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd.init
--enable-user=jabber
[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 EJABBERD_DOC_PATH="@EJABBERD_DOC_PATH@"
20 export EJABBERD_DOC_PATH
21
22 start() {
23         # Check if the service is already running?
24         if [ ! -f /var/lock/subsys/ejabberd ]; then
25                 export ERL_MAX_PORTS ERL_FULLSWEEP_AFTER
26                 msg_starting ejabberd
27                 daemon /usr/sbin/ejabberd
28                 RETVAL=$?
29                 if [ $RETVAL -eq 0 ]; then
30                         touch /var/lock/subsys/ejabberd
31                 fi
32         else
33                 msg_already_running ejabberd
34         fi
35 }
36
37 stop() {
38         # Stop daemons.
39         if [ -f /var/lock/subsys/ejabberd ]; then
40                 msg_stopping ejabberd
41                 /usr/sbin/ejabberdctl ejabberd@${NODENAME} stop 2>/dev/null
42                 RETVAL=$?
43                 if [ $RETVAL -eq 0 ]; then
44                         ok
45                 else
46                         fail
47                 fi
48                 rm -f /var/lock/subsys/ejabberd
49         else
50                 msg_not_running ejabberd
51         fi
52 }
53
54 # See how we were called.
55 case "$1" in
56   start)
57         start
58         ;;
59   stop)
60         stop
61         ;;
62   restart)
63         stop
64         sleep 2
65         start
66         ;;
67   reload|force-reload)
68         if [ -f /var/lock/subsys/ejabberd ]; then
69                 msg_reloading ejabberd
70                 busy
71                 /usr/sbin/ejabberdctl ejabberd@${NODENAME} restart
72                 RETVAL=$?
73                 if [ $RETVAL -eq 0 ]; then
74                     ok
75                 else
76                     RETVAL=1
77                     fail
78                 fi
79         else
80                 msg_not_running ejabberd
81                 RETVAL=7
82         fi
83         ;;
84   status)
85         EPMDOUT=`@libdir@/erlang/bin/epmd -names`
86         echo "$EPMDOUT" | head -n 1
87         echo "$EPMDOUT" | grep ejabberd
88         RETVAL=$?
89         if [ "$RETVAL" -ne "0" ] ; then
90                 if [ -f /var/lock/subsys/ejabberd ]; then
91                         nls "%s dead but subsys locked" "ejabberd"
92                         RETVAL=2
93                 else
94                         nls "%s is stopped" "ejabberd"
95                         RETVAL=3
96                 fi
97         fi
98         ;;
99   *)
100         msg_usage "$0 {start|stop|status|restart|reload|force-reload}"
101         exit 3
102 esac
103
104 exit $RETVAL
This page took 0.075045 seconds and 3 git commands to generate.