#!/bin/sh # # cassandra Cassandra # # chkconfig: 345 84 25 # # description: Cassandra database node # # processname: cassandra # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Get service config - may override defaults # [ -f /etc/sysconfig/cassandra ] && . /etc/sysconfig/cassandra # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down cassandra exit 1 fi else exit 0 fi test -x /usr/sbin/cassandra || exit 0 start() { # Check if the service is already running? if [ ! -f /var/lock/subsys/cassandra ]; then msg_starting cassandra daemon --user cassandra /usr/sbin/cassandra -p /var/run/cassandra/cassandra.pid RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cassandra else msg_already_running cassandra fi } stop() { if [ -f /var/lock/subsys/cassandra ]; then # Stop daemons. msg_stopping cassandra # TODO: Fix it to work it properly with default PLD starting script scheme # I do not know how to make pid=$(cat /var/run/cassandra/cassandra.pid) ## echo "DEBUG: Using pid=$pid." kill -TERM $pid # 0 - call succeed RETVAL=$? if [ $RETVAL -eq 0 ]; then # Success, giving some time for cassandra to flush. checkpid $pid && sleep 1 checkpid $pid && sleep 3 checkpid $pid && sleep 5 if checkpid $pid; then fail log_failed "cassandra shutdown (timeout after -TERM)" else ok log_success "cassandra shutdown" fi rm -f /var/lock/subsys/cassandra else # rm /var/lock/subsys/cassandra fail log_failed "cassandra shutdown (signalling error)" rm /var/lock/subsys/cassandra fi ## echo "DEBUG: kill retval: $RETVAL" else msg_not_running cassandra fi } condrestart() { if [ -f /var/lock/subsys/cassandra ]; then stop start else msg_not_running cassandra RETVAL=$1 fi } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; force-reload) condrestart 7 ;; status) # Does not work with /usr/sbin/cassandra for some reason status cassandra ;; *) # msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" msg_usage "$0 {start|stop|restart|try-restart|force-reload}" exit 3 esac exit $RETVAL