Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2017-06-01 09:04:11 +0300
committerChristophe Romain <christophe.romain@process-one.net>2017-06-01 09:04:11 +0300
commit92003fa4dc99b2de024860dd0a89e5b1d6f9c87d (patch)
tree1fcd2cac81ef35e083af8f706bc83b8b11459a0b /ejabberdctl.template
parent818d9c8c42720343bdabead668b11f8fb79162c1 (diff)
Minor ejabberdctl improvements
Diffstat (limited to 'ejabberdctl.template')
-rwxr-xr-xejabberdctl.template47
1 files changed, 14 insertions, 33 deletions
diff --git a/ejabberdctl.template b/ejabberdctl.template
index 8053ea2df..eafca9126 100755
--- a/ejabberdctl.template
+++ b/ejabberdctl.template
@@ -59,6 +59,7 @@ shift $((OPTIND-1))
: ${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR"/ejabberdctl.cfg}
[ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH"
[ "$ERLANG_NODE_ARG" != "" ] && ERLANG_NODE=$ERLANG_NODE_ARG
+[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && S="-s"
: ${EJABBERD_DOC_PATH:={{docdir}}}
: ${EJABBERD_LOG_PATH:="$LOGS_DIR"/ejabberd.log}
@@ -75,25 +76,17 @@ if [ "$INET_DIST_INTERFACE" != "" ] ; then
ERLANG_OPTS="$ERLANG_OPTS -kernel inet_dist_use_interface \"$INET_DIST_INTERFACE2\""
fi
fi
-if [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] ; then
- NAME="-sname"
-else
- NAME="-name"
-fi
ERL_LIBS={{libdir}}
ERL_CRASH_DUMP="$LOGS_DIR"/erl_crash_$(date "+%Y%m%d-%H%M%S").dump
ERL_INETRC="$ETC_DIR"/inetrc
# define ejabberd parameters
-rate=$(sed '/^[ ]*log_rate_limit/!d;s/.*://;s/ *//' "$EJABBERD_CONFIG_PATH")
-rotate=$(sed '/^[ ]*log_rotate_size/!d;s/.*://;s/ *//' "$EJABBERD_CONFIG_PATH")
-count=$(sed '/^[ ]*log_rotate_count/!d;s/.*://;s/ *//' "$EJABBERD_CONFIG_PATH")
-date=$(sed '/^[ ]*log_rotate_date/!d;s/.*://;s/ *//' "$EJABBERD_CONFIG_PATH")
-[ -z "$rate" ] || EJABBERD_OPTS="log_rate_limit $rate"
-[ -z "$rotate" ] || EJABBERD_OPTS="$EJABBERD_OPTS log_rotate_size $rotate"
-[ -z "$count" ] || EJABBERD_OPTS="$EJABBERD_OPTS log_rotate_count $count"
-[ -z "$date" ] || EJABBERD_OPTS="$EJABBERD_OPTS log_rotate_date '$date'"
-[ -z "$EJABBERD_OPTS" ] || EJABBERD_OPTS="-ejabberd $EJABBERD_OPTS"
+EJABBERD_OPTS="$EJABBERD_OPTS\
+ $(sed '/^log_rate_limit/!d;s/:[ \t]*\([0-9]*\).*/ \1/' "$EJABBERD_CONFIG_PATH")\
+ $(sed '/^log_rotate_size/!d;s/:[ \t]*\([0-9]*\).*/ \1/' "$EJABBERD_CONFIG_PATH")\
+ $(sed '/^log_rotate_count/!d;s/:[ \t]*\([0-9]*\).*/ \1/' "$EJABBERD_CONFIG_PATH")\
+ $(sed '/^log_rotate_date/!d;s/:[ \t]*\(.[^ ]*\).*/ \1/' "$EJABBERD_CONFIG_PATH")"
+[ -n "$EJABBERD_OPTS" ] && EJABBERD_OPTS="-ejabberd $EJABBERD_OPTS"
EJABBERD_OPTS="-mnesia dir \"$SPOOL_DIR\" $MNESIA_OPTIONS $EJABBERD_OPTS -s ejabberd"
# export global variables
@@ -121,12 +114,12 @@ exec_cmd()
exec_erl()
{
NODE=$1; shift
- exec_cmd $ERL $NAME $NODE $ERLANG_OPTS "$@"
+ exec_cmd $ERL ${S:--}name $NODE $ERLANG_OPTS "$@"
}
exec_iex()
{
NODE=$1; shift
- exec_cmd $IEX -$NAME $NODE --erl "$ERLANG_OPTS" "$@"
+ exec_cmd $IEX ${S:--}name $NODE --erl "$ERLANG_OPTS" "$@"
}
# usage
@@ -198,22 +191,6 @@ help()
echo ""
}
-# generic erlang node ping feature
-ping()
-{
- PEER=${1:-$ERLANG_NODE}
- if [ "$PEER" = "${PEER%.*}" ] ; then
- PING_NAME="-sname"
- PING_NODE=$(hostname -s)
- else
- PING_NAME="-name"
- PING_NODE=$(hostname)
- fi
- exec_cmd $ERL $PING_NAME $(uid ping $PING_NODE) $ERLANG_OPTS \
- -noinput -hidden -eval 'io:format("~p~n",[net_adm:ping('"$PEER"')])' \
- -s erlang halt -output text
-}
-
# dynamic node name helper
uid()
{
@@ -310,7 +287,11 @@ case $1 in
exec_iex $ERLANG_NODE --erl "$EJABBERD_OPTS" --app ejabberd
;;
ping)
- ping $2
+ PEER=${2:-$ERLANG_NODE}
+ [ "$PEER" = "${PEER%.*}" ] && PS="-s"
+ exec_cmd $ERL ${PS:--}name $(uid ping $(hostname $PS)) $ERLANG_OPTS \
+ -noinput -hidden -eval 'io:format("~p~n",[net_adm:ping('"$PEER"')])' \
+ -s erlang halt -output text
;;
started)
wait_status 0 30 2 # wait 30x2s before timeout