#!/bin/sh # # chkconfig: - 90 36 # description: Starts and stops the clustered tdb daemon # # pidfile: /var/run/ctdbd/ctdbd.pid # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 0 fi # Avoid using root's TMPDIR unset TMPDIR # Source networking configuration. . /etc/sysconfig/network CTDB_OPTIONS="" # pull in admin specified config if [ -f /etc/sysconfig/ctdb ]; then . /etc/sysconfig/ctdb fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # build up CTDB_OPTIONS variable [ -z "$LOGFILE" ] || CTDB_OPTIONS="$CTDB_OPTIONS --logfile=$LOGFILE" [ -z "$NODES" ] || CTDB_OPTIONS="$CTDB_OPTIONS --nlist=$NODES" [ -z "$CTDB_SOCKET" ] || CTDB_OPTIONS="$CTDB_OPTIONS --socket=$CTDB_SOCKET" [ -z "$PUBLIC_ADDRESSES" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-addresses=$PUBLIC_ADDRESSES" [ -z "$PUBLIC_INTERFACE" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-interface=$PUBLIC_INTERFACE" [ -z "$DBDIR" ] || CTDB_OPTIONS="$CTDB_OPTIONS --dbdir=$DBDIR" [ -z "$EVENT_SCRIPT" ] || CTDB_OPTIONS="$CTDB_OPTIONS --event-script $EVENT_SCRIPT" [ -z "$TRANSPORT" ] || CTDB_OPTIONS="$CTDB_OPTIONS --transport $TRANSPORT" [ -z "$DEBUGLEVEL" ] || CTDB_OPTIONS="$CTDB_OPTIONS -d $DEBUGLEVEL" start() { echo -n $"Starting ctdbd services: " daemon ctdbd $CTDB_OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ctdb || \ RETVAL=1 return $RETVAL } stop() { echo -n $"Shutting down ctdbd services: " ctdb shutdown RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ctdb echo "" return $RETVAL } restart() { stop start } rhstatus() { ctdb status if [ $? -ne 0 ] ; then return 1 fi } # Allow status as non-root. if [ "$1" = status ]; then rhstatus exit $? fi case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) rhstatus ;; condrestart) [ -f /var/lock/subsys/ctdb ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|status|condrestart}" exit 1 esac exit $?