#!/bin/bash # # gluster-blockd Startup script for the gluster-blockd server # # chkconfig: - 20 80 # description: GlusterFS block server ### BEGIN INIT INFO # Provides: gluster-block # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Should-Start: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: glusterfs block server # Description: GlusterFS block server ### END INIT INFO # # Source function library. . /etc/rc.d/init.d/functions BASE=gluster-blockd # Fedora File System Layout dictates /run [ -e /run ] && RUNDIR="/run" PIDFILE="${RUNDIR:-/var/run}/${BASE}.pid" PID=`test -f $PIDFILE && cat $PIDFILE` # Overwriteable from sysconfig GB_GLFS_LRU_COUNT=5 GB_LOG_LEVEL='INFO' GB_EXTRA_ARGS="" GB_NOFILE='65536' [ -f /etc/sysconfig/${BASE} ] && . /etc/sysconfig/${BASE} [ ! -z $GB_LOG_LEVEL ] && GB_OPTIONS="${GB_OPTIONS} --log-level ${GB_LOG_LEVEL}" [ ! -z $GB_GLFS_LRU_COUNT ] && GB_OPTIONS="${GB_OPTIONS} --glfs-lru-count ${GB_GLFS_LRU_COUNT}" [ ! -z $GB_EXTRA_ARGS ] && GB_OPTIONS="${GB_OPTIONS} ${GB_EXTRA_ARGS}" GBD_BIN=@prefix@/sbin/$BASE GBD_OPTS="${GB_OPTIONS}" GBD="$GBD_BIN $GBD_OPTS" RETVAL=0 LOCKFILE=/var/lock/subsys/${BASE} # Start the service $BASE start() { if pidofproc -p $PIDFILE $GBD_BIN &> /dev/null; then echo "gluster-blockd service is already running with pid $PID" return 0 else ulimit -n $GB_NOFILE echo -n $"Starting $BASE:" nohup $GBD &> /dev/null & RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL fi } # Stop the service $BASE stop() { echo -n $"Stopping $BASE:" if pidofproc -p $PIDFILE $GBD_BIN &> /dev/null; then killproc -p $PIDFILE $BASE else killproc $BASE fi RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE return $RETVAL } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { status $BASE } rh_status_q() { rh_status &>/dev/null } ### service arguments ### case $1 in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 1 esac exit $?