]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd.init
Up to 23.10
[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 EJABBERD_DOC_PATH="@EJABBERD_DOC_PATH@"
18 EJABBERD_PID_PATH=/var/run/jabber/ejabberd.pid
19 export EJABBERD_DOC_PATH EJABBERD_PID_PATH
20
21 start() {
22         # Check if the service is already running?
23         if [ ! -f /var/lock/subsys/ejabberd ]; then
24                 msg_starting ejabberd
25                 daemon --user jabber /usr/sbin/ejabberdctl start
26                 RETVAL=$?
27                 if [ $RETVAL -eq 0 ]; then
28                         msg_starting "ejabberd start confirmation"
29                         daemon --user jabber /usr/sbin/ejabberdctl started
30                         RETVAL=$?
31                 fi
32                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ejabberd
33         else
34                 msg_already_running ejabberd
35         fi
36 }
37
38 stop() {
39         # Stop daemons.
40         if [ -f /var/lock/subsys/ejabberd ]; then
41                 msg_stopping ejabberd ; busy
42                 out=$(/bin/su - jabber -s /bin/sh -c "/usr/sbin/ejabberdctl stop" 2>&1)
43                 RETVAL=$?
44                 if [ $RETVAL -eq 0 ]; then
45                         out2=$(/bin/su - jabber -s /bin/sh -c "/usr/sbin/ejabberdctl stopped" 2>&1)
46                         RETVAL=$?
47                 fi
48                 if [ $RETVAL -eq 0 ]; then
49                         ok
50                 else
51                         fail
52                         [ -n "$out" ] && echo $out
53                         [ -n "$out2" ] && echo $out2
54                 fi
55                 rm -f /var/lock/subsys/ejabberd
56         else
57                 msg_not_running ejabberd
58         fi
59 }
60
61 reload() {
62         # Reload configuration
63         if [ ! -f /var/lock/subsys/ejabberd ]; then
64                 msg_not_running ejabberd
65                 RETVAL=7
66                 return
67         fi
68         msg_reloading ejabberd
69         daemon --user jabber /usr/sbin/ejabberdctl reload_config
70         RETVAL=$?
71 }
72
73 # See how we were called.
74 case "$1" in
75   start)
76         start
77         ;;
78   stop)
79         stop
80         ;;
81   restart)
82         stop
83         start
84         ;;
85   reload|force-reload)
86         reload
87         ;;
88   status)
89         status --pidfile $EJABBERD_PID_PATH ejabberd
90         RETVAL=$?
91         ;;
92   *)
93         msg_usage "$0 {start|stop|status|restart|reload|force-reload}"
94         exit 3
95 esac
96
97 exit $RETVAL
This page took 0.054898 seconds and 3 git commands to generate.