25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-22 16:20:52 +01:00
xmpp.chapril.org-ejabberd/tools/ejabberdctl
2009-08-31 08:41:56 +00:00

70 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
NODE=ejabberd
HOST=localhost
# Define ejabberd environment
ERL=erl
here=`which "$0" 2>/dev/null || echo .`
base="`dirname $here`/.."
ROOTDIR=`(cd "$base"; echo $PWD)`
SASL_LOG_PATH=$ROOTDIR/erlang.log
EJABBERD_DB=$ROOTDIR/database/$NODE
EJABBERD_EBIN=$ROOTDIR/src
export EJABBERD_LOG_PATH=$ROOTDIR/ejabberd.log
export EJABBERD_CONFIG_PATH=$ROOTDIR/ejabberd.cfg
export EJABBERD_MSGS_PATH=$ROOTDIR/src/msgs
export EJABBERD_SO_PATH=$ROOTDIR/src
export EJABBERD_BIN_PATH=$ROOTDIR/src
export ERL_MAX_PORTS=32000
[ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB
[ -f $EJABBERD_CONFIG_PATH ] || cp $ROOTDIR/src/ejabberd.cfg.example $EJABBERD_CONFIG_PATH
start()
{
$ERL \
-noinput -detached \
-sname $NODE@$HOST \
-pa $EJABBERD_EBIN \
-mnesia dir "\"$EJABBERD_DB\"" \
-s ejabberd \
-ejabberd config \"$EJABBERD_CONFIG_PATH\" \
log_path \"$EJABBERD_LOG_PATH\" \
-sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\}
}
debug()
{
$ERL \
-sname debug$NODE@$HOST \
-pa $EJABBERD_EBIN \
-mnesia dir "\"$EJABBERD_DB\"" \
-hidden \
-remsh $NODE@$HOST
}
ctl()
{
$ERL \
-sname ctl$NODE@$HOST \
-pa $EJABBERD_EBIN \
-noinput \
-hidden \
-s ejabberd_ctl -extra $NODE@$HOST $@
}
usage()
{
ctl
exit
}
[ $# -lt 1 ] && usage
case $1 in
start) start;;
debug) debug;;
*) ctl $@;;
esac