diff options
Diffstat (limited to 'extras/init.d/glusterfsd-Debian.in')
| -rwxr-xr-x | extras/init.d/glusterfsd-Debian.in | 100 | 
1 files changed, 100 insertions, 0 deletions
diff --git a/extras/init.d/glusterfsd-Debian.in b/extras/init.d/glusterfsd-Debian.in new file mode 100755 index 00000000000..a0c83d53569 --- /dev/null +++ b/extras/init.d/glusterfsd-Debian.in @@ -0,0 +1,100 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides:          glusterfsd +# Required-Start:    $local_fs $network +# Required-Stop:     $local_fs $network +# Default-Start:     2 3 4 5 +# Default-Stop:      0 1 6 +# Short-Description: gluster server +# Description:       This file starts / stops the gluster server +### END INIT INFO + +# Author: Chris AtLee <chris@atlee.ca> +# Patched by: Matthias Albert < matthias@linux4experts.de> + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +NAME=glusterfsd +SCRIPTNAME=/etc/init.d/$NAME +DAEMON=@prefix@/sbin/$NAME +PIDFILE=/var/run/$NAME.pid +CONFIGFILE=/etc/glusterfs/glusterfsd.vol +GLUSTERFS_OPTS="-f $CONFIGFILE" +PID=`test -f $PIDFILE && cat $PIDFILE` + + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +. /lib/lsb/init-functions + +check_config() +{ +  if [ ! -f "$CONFIGFILE" ]; then +    echo "Config file $CONFIGFILE is missing...exiting!" +    exit 0 +  fi +} + +do_start() +{ +    check_config; +    pidofproc -p $PIDFILE $DAEMON >/dev/null +    status=$? +    if [ $status -eq 0 ]; then +      log_success_msg "glusterfs server is already running with pid $PID" +    else +      log_daemon_msg "Starting glusterfs server" "glusterfsd" +      start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -p $PIDFILE $GLUSTERFS_OPTS +      log_end_msg $? +      start_daemon -p $PIDFILE $DAEMON -f $CONFIGFILE +      return $? +    fi +} + +do_stop() +{ +    log_daemon_msg "Stopping glusterfs server" "glusterfsd" +    start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE +    log_end_msg $? +    rm -f $PIDFILE +    killproc -p $PIDFILE $DAEMON +    return $? +} + +do_status() +{ +     pidofproc -p $PIDFILE $DAEMON >/dev/null +     status=$? +     if [ $status -eq 0 ]; then +       log_success_msg "glusterfs server is running with pid $PID" +     else +       log_failure_msg "glusterfs server is not running." +     fi +     exit $status +} + +case "$1" in +  start) +        do_start +        ;; +  stop) +        do_stop +        ;; +  status) +        do_status; +        ;; +  restart|force-reload) +        do_stop +        sleep 2 +        do_start +        ;; +  *) +        echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 +        exit 3 +        ;; +esac +  | 
