mirror of
https://github.com/processone/ejabberd.git
synced 2024-08-14 01:38:09 +02:00
76 lines
1.6 KiB
Bash
76 lines
1.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# PROVIDE: ejabberd
|
|
# REQUIRE: DAEMON
|
|
# KEYWORD: shutdown
|
|
#
|
|
|
|
HOME=/usr/pkg/jabber D=/usr/pkg/jabber/ejabberd export HOME
|
|
|
|
name="ejabberd"
|
|
rcvar=$name
|
|
|
|
if [ -r /etc/rc.conf ]
|
|
then
|
|
. /etc/rc.conf
|
|
else
|
|
eval ${rcvar}=YES
|
|
fi
|
|
|
|
# $flags from environment overrides ${rcvar}_flags
|
|
if [ -n "${flags}" ]
|
|
then
|
|
eval ${rcvar}_flags="${flags}"
|
|
fi
|
|
|
|
checkyesno()
|
|
{
|
|
eval _value=\$${1}
|
|
case $_value in
|
|
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0 ;;
|
|
[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1 ;;
|
|
*)
|
|
echo "\$${1} is not set properly."
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
cmd=${1:-start}
|
|
case ${cmd} in
|
|
force*)
|
|
cmd=${cmd#force}
|
|
eval ${rcvar}=YES
|
|
;;
|
|
esac
|
|
|
|
if checkyesno ${rcvar}
|
|
then
|
|
else
|
|
exit 0
|
|
fi
|
|
|
|
case ${cmd} in
|
|
start)
|
|
if [ -x $D/src ]; then
|
|
echo "Starting ${name}."
|
|
cd $D/src
|
|
ERL_MAX_PORTS=32000 export ERL_MAX_PORTS
|
|
ulimit -n $ERL_MAX_PORTS
|
|
su jabber -c "/usr/pkg/bin/erl -sname ejabberd -s ejabberd -heart -detached -sasl sasl_error_logger '{file, \"ejabberd-sasl.log\"}' &" \
|
|
1>/dev/null 2>&1
|
|
fi
|
|
;;
|
|
stop)
|
|
echo "rpc:call('ejabberd@`hostname -s`', init, stop, [])." | \
|
|
su jabber -c "/usr/pkg/bin/erl -sname ejabberdstop"
|
|
;;
|
|
restart)
|
|
echo "rpc:call('ejabberd@`hostname -s`', init, restart, [])." | \
|
|
su jabber -c "/usr/pkg/bin/erl -sname ejabberdrestart"
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart}"
|
|
exit 1
|
|
esac
|