pkgsrc/databases/apache-cassandra/files/cassandra.sh

105 lines
2 KiB
Bash

#! @RCD_SCRIPTS_SHELL@
#
# $NetBSD: cassandra.sh,v 1.2 2010/10/17 23:41:12 tonnerre Exp $
#
# PROVIDE: cassandra
# REQUIRE: DAEMON
#
if [ -r /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="cassandra"
rcvar=$name
command="@CASSANDRA_HOME@/bin/cassandra"
pidfile="@VARBASE@/run/cassandra/cassandra.pid"
cassandra_user="@CASSANDRA_USER@"
cassandra_group="@CASSANDRA_GROUP@"
start_cmd="$command start"
stop_cmd="$command stop"
restart_cmd="$stop_cmd && $start_cmd"
run_cmd="cassandra_run"
version_cmd="cassandra_version"
debug_cmd="cassandra_debug"
extra_commands="run version debug"
start_precmd="cassandra_precmd"
PREFIX=@PREFIX@
if [ -z "${JAVA_HOME}" ]
then
JAVA_HOME="@JAVA_HOME@"
export JAVA_HOME
fi
CATALINA_HOME=@CASSANDRA_HOME@
CASSANDRA_HOME=@CASSANDRA_HOME@
CASSANDRA_CONF=@PKG_SYSCONFBASE@/cassandra
CATALINA_PID=${pidfile}
export CATALINA_HOME
export CASSANDRA_HOME
export CASSANDRA_CONF
export CATALINA_PID
find ${PREFIX}/lib -type f -name \*.jar -print | while read jar
do
CLASSPATH=${CLASSPATH}:${jar}
done
unset jar
if [ -n "${cassandra_classpath}" ]
then
CLASSPATH=${CLASSPATH}:${cassandra_classpath}
fi
export CLASSPATH
cassandra_precmd()
{
if [ ! -d @VARBASE@/run/cassandra ]; then
@MKDIR@ @VARBASE@/run/cassandra
@CHMOD@ 0750 @VARBASE@/run/cassandra
@CHOWN@ ${cassandra_user}:${cassandra_group} @VARBASE@/run/cassandra
fi
}
cassandra_start()
{
cd $CATALINA_HOME/logs
@SU@ ${cassandra_user} -c "${command} start"
}
cassandra_stop()
{
rc_pid=$(check_pidfile $pidfile "${JAVA_HOME}/bin/java")
@SU@ ${cassandra_user} -c "${command} stop"
wait_for_pids $rc_pid
}
cassandra_run()
{
cd ${CATALINA_HOME}/logs
@SU@ ${cassandra_user} -c "${command} run"
}
cassandra_version()
{
@SU@ ${cassandra_user} -c "${command} version"
}
cassandra_debug()
{
cd ${CATALINA_HOME}/logs
@SU@ ${cassandra_user} -c "${command} debug"
}
if [ -f /etc/rc.subr ]
then
load_rc_config "$name"
run_rc_command "$1"
else
echo -n ' ${name}'
exec ${command} ${cassandra_flags} ${command_args}
fi