Setting tag ejabberd-2.1.6-3
[ejabberd.git] / ejabberd.init
1 #!/bin/bash
2 #
3 # ejabberd    Start and stop ejabberd.
4
5 # chkconfig: - 40 60
6 # description: ejabberd
7 # processname: ejabberd
8 # pidfile: /var/run/ejabberd.pid
9
10 ### BEGIN INIT INFO
11 # Provides: ejabberd
12 # Required-Start: network
13 # Required-Stop: network
14 # Short-Description: Start and stop ejabberd
15 # Description: A distributed, fault-tolerant Jabber/XMPP server
16 ### END INIT INFO
17
18 . /etc/rc.d/init.d/functions
19
20 if [ -r /etc/sysconfig/ejabberd ]; then
21         . /etc/sysconfig/ejabberd
22 fi
23
24 if [ ! "$CONFIG_FILE" ]; then
25         CONFIG_FILE=/etc/ejabberd/ejabberd.cfg
26 fi
27
28 start() {
29         echo -n $"Starting ejabberd: "
30         if [ "$ULIMIT_MAX_FILES" ]; then
31                 ulimit -n $ULIMIT_MAX_FILES
32         fi
33         daemon /usr/sbin/ejabberdctl start
34                                 --config $CONFIG_FILE \
35                                 --ctl-config /etc/ejabberd/ejabberdctl.cfg \
36                                 --logs "/var/log/ejabberd" \
37                                 --spool "/var/lib/ejabberd/spool" \
38                                 2>/dev/null
39         RETVAL=$?
40         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ejabberd
41         echo
42         return $RETVAL
43 }
44
45 stop() {
46         # Stop daemons.
47         echo -n "Shutting down ejabberd: "
48         daemon /usr/sbin/ejabberdctl stop 2>/dev/null
49         RETVAL=$?
50         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ejabberd
51         echo
52         return $RETVAL
53 }
54
55 restart() {
56         stop
57         sleep 5
58         start
59 }
60
61 # See how we were called.
62 case "$1" in
63   start)
64         start
65         ;;
66   stop)
67         stop
68         ;;
69   restart)
70         restart
71         ;;
72   force-reload)
73         restart
74         ;;
75   condrestart)
76         [ -f /var/lock/subsys/ejabberd ] && restart || :
77         ;;
78   try-restart)
79         [ -f /var/lock/subsys/ejabberd ] && restart || :
80         ;;
81   status)
82         /usr/sbin/ejabberdctl status
83         ;;
84   *)
85         echo "Usage: ejabberd {start|stop|restart|force-reload|condrestart|try-restart|status}"
86         exit 1
87 esac
88
89 exit $?
90
91