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