You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

180 lines
2.9 KiB

#!/bin/bash
#
# kazoo
#
# chkconfig: 345 85 87
# description: Dubbed a "scalable, distributed, cloud-based" telephony platform
# processname: kazoo
#
# Source function library.
. /etc/rc.d/init.d/functions
NAME=$(basename $0)
KAZOO_ROOT="/opt/kazoo"
KAZOO_BIN="${KAZOO_ROOT}/bin/kazoo"
USER="kazoo"
test -x $KAZOO_BIN || exit 0
RETVAL=0
set -e
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}
[ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME}
if [ "${NAME}" == "kazoo-applications" ]; then
NAME="kazoo_apps"
else
NAME=${NAME#*-}
fi
# export
export HOME="${KAZOO_ROOT}"
export NAME_ARG="-name ${NAME}"
export VMARGS_PATH=/etc/kazoo/core/vm.args
# Check that networking is up.
if [ "$NETWORKING" = "no" ]; then
exit 0
fi
start() {
echo -n $"Starting ${NAME}: "
cd $KAZOO_ROOT
export CODE_LOADING_MODE=interactive
$KAZOO_BIN start > /dev/null 2>&1;
for (( i=0; i<10; ++i )); do
OUT=`$KAZOO_BIN getpid`;
if [ $? == 0 ]; then PID=$OUT; break; fi
sleep 1;
done
if [ -z "$PID" ]; then
failure
RETVAL=1
else
success
fi
}
stop() {
echo -n $"Stopping ${NAME}: "
cd $KAZOO_ROOT
$KAZOO_BIN stop > /dev/null 2>&1;
if [ $? != 0 ]; then
failure
RETVAL=1
else
success
fi
}
restart() {
stop
start
}
status() {
cd $KAZOO_ROOT
$KAZOO_BIN eval "kz_nodes:status()." | sed \$d
if [ $? != 0 ]; then
(>&2 echo "${NAME} is not running!")
RETVAL=1
fi
}
connect() {
cd $KAZOO_ROOT
export COOKIE_ARG="-setcookie `$KAZOO_BIN eval 'erlang:get_cookie()'`"
$KAZOO_BIN remote_console
if [ $? != 0 ]; then
(>&2 echo "${NAME} is not running!")
RETVAL=1
fi
}
attach() {
cd $KAZOO_ROOT
$KAZOO_BIN attach
if [ $? != 0 ]; then
(>&2 echo "${NAME} is not running!")
RETVAL=1
fi
}
ping() {
cd $KAZOO_ROOT
export COOKIE_ARG="-setcookie `$KAZOO_BIN eval 'erlang:get_cookie()'`"
$KAZOO_BIN ping
if [ $? != 0 ]; then
(>&2 echo "${NAME} is not running!")
RETVAL=1
fi
}
pid() {
cd $KAZOO_ROOT
$KAZOO_BIN pid
if [ $? != 0 ]; then
(>&2 echo "${NAME} is not running!")
RETVAL=1
fi
}
foreground() {
cd $KAZOO_ROOT
export CODE_LOADING_MODE=interactive
$KAZOO_BIN foreground
}
console() {
cd $KAZOO_ROOT
export CODE_LOADING_MODE=interactive
$KAZOO_BIN console
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
connect)
connect
;;
attach)
attach
;;
ping)
ping
;;
pid)
pid
;;
foreground)
foreground
;;
console)
console
;;
*)
echo $"Usage: $0 (start|stop|restart|status|connect|attach|ping|pid|foreground|console)"
exit 1
esac
exit $RETVAL