From da71d1359c1335997595935dbaa07c5747231861 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Sun, 1 Mar 2009 05:35:18 -0800 Subject: Added proper handling for the init scripts for (Debian, Ubuntu, SuSE, Redhat), SuSE init script also added. * Init scripts added for Debian, Redhat, SuSE distribution, each are installed by checking each distribution specific. Tested on 1. Debian, Ubuntu. 2. Redhat, CentOS. 3. OpenSUSE. Signed-off-by: Anand V. Avati --- extras/init.d/Makefile.am | 11 +++-- extras/init.d/glusterfs-server | 100 ---------------------------------------- extras/init.d/glusterfsd | 51 -------------------- extras/init.d/glusterfsd-Debian | 100 ++++++++++++++++++++++++++++++++++++++++ extras/init.d/glusterfsd-Redhat | 51 ++++++++++++++++++++ extras/init.d/glusterfsd-SuSE | 72 +++++++++++++++++++++++++++++ 6 files changed, 230 insertions(+), 155 deletions(-) delete mode 100755 extras/init.d/glusterfs-server delete mode 100755 extras/init.d/glusterfsd create mode 100755 extras/init.d/glusterfsd-Debian create mode 100755 extras/init.d/glusterfsd-Redhat create mode 100755 extras/init.d/glusterfsd-SuSE (limited to 'extras') diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am index 73e9745cd..66849af87 100644 --- a/extras/init.d/Makefile.am +++ b/extras/init.d/Makefile.am @@ -1,12 +1,15 @@ -EXTRA_DIST = glusterfsd glusterfs-server glusterfs-server.plist +EXTRA_DIST = glusterfsd-Debian glusterfsd-Redhat glusterfsd-SuSE glusterfs-server.plist CLEANFILES = -initdir = $(sysconfdir)/init.d -init_DATA = glusterfsd +initdir = /etc/init.d -install-data-local: +$(GF_DISTRIBUTION): + $(mkdir_p) $(DESTDIR)$(initdir) + cp glusterfsd-$(GF_DISTRIBUTION) $(DESTDIR)$(initdir)/glusterfsd + +install-data-local: $(GF_DISTRIBUTION) if GF_DARWIN_HOST_OS cp glusterfs-server.plist /Library/LaunchDaemons/com.zresearch.glusterfs.plist endif diff --git a/extras/init.d/glusterfs-server b/extras/init.d/glusterfs-server deleted file mode 100755 index 975283982..000000000 --- a/extras/init.d/glusterfs-server +++ /dev/null @@ -1,100 +0,0 @@ -#!/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 -# Patched by: Matthias Albert < matthias@linux4experts.de> - -PATH=/sbin:/usr/sbin:/bin:/usr/bin -NAME=glusterfsd -SCRIPTNAME=/etc/init.d/$NAME -DAEMON=/usr/sbin/$NAME -PIDFILE=/var/run/$NAME.pid -CONFIGFILE=/etc/glusterfs/server.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 - diff --git a/extras/init.d/glusterfsd b/extras/init.d/glusterfsd deleted file mode 100755 index 992513157..000000000 --- a/extras/init.d/glusterfsd +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# -# chkconfig: 35 90 12 -# description: Glusterfsd server -# - -# Get function from functions library -. /etc/rc.d/init.d/functions - -BASE=glusterfsd -GSERVER="/usr/sbin/$BASE -f /etc/glusterfs/glusterfsd.vol" -RETVAL=0 - -# Start the service $BASE -start() -{ - echo -n $"Starting $BASE:" - daemon $GSERVER - RETVAL=$? - [ $RETVAL -ne 0 ] && exit $RETVAL -} - -# Stop the service $BASE -stop() -{ - echo $"Stopping $BASE:" - killproc $BASE -} - - -### service arguments ### -case $1 in - start) - start - ;; - stop) - stop - ;; - status) - status $BASE - ;; - restart) - $0 stop - $0 start - ;; - *) - echo $"Usage: $0 {start|stop|status|restart}." - exit 1 -esac - -exit 0 diff --git a/extras/init.d/glusterfsd-Debian b/extras/init.d/glusterfsd-Debian new file mode 100755 index 000000000..dcd3e0c50 --- /dev/null +++ b/extras/init.d/glusterfsd-Debian @@ -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 +# Patched by: Matthias Albert < matthias@linux4experts.de> + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +NAME=glusterfsd +SCRIPTNAME=/etc/init.d/$NAME +DAEMON=/usr/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 + diff --git a/extras/init.d/glusterfsd-Redhat b/extras/init.d/glusterfsd-Redhat new file mode 100755 index 000000000..2577e9e76 --- /dev/null +++ b/extras/init.d/glusterfsd-Redhat @@ -0,0 +1,51 @@ +#!/bin/bash +# +# chkconfig: 35 90 12 +# description: Glusterfsd server +# + +# Get function from functions library +. /etc/rc.d/init.d/functions + +BASE=glusterfsd +GSERVER="/usr/sbin/$BASE -f /etc/glusterfs/glusterfsd.vol" +RETVAL=0 + +# Start the service $BASE +start() +{ + echo $"Starting $BASE:" + daemon $GSERVER + RETVAL=$? + [ $RETVAL -ne 0 ] && exit $RETVAL +} + +# Stop the service $BASE +stop() +{ + echo $"Stopping $BASE:" + killproc $BASE +} + + +### service arguments ### +case $1 in + start) + start + ;; + stop) + stop + ;; + status) + status $BASE + ;; + restart) + $0 stop + $0 start + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}." + exit 1 +esac + +exit 0 diff --git a/extras/init.d/glusterfsd-SuSE b/extras/init.d/glusterfsd-SuSE new file mode 100755 index 000000000..ede27b2b3 --- /dev/null +++ b/extras/init.d/glusterfsd-SuSE @@ -0,0 +1,72 @@ +#!/bin/bash +# +### BEGIN INIT INFO +# Provides: glusterfsd +# Required-Start: $local_fs $network +# Required-Stop: +# Default-Start: 3 5 +# Default-Stop: +# Short-Description: GlusterFS server daemon +# Description: All necessary services for GlusterFS clients +### END INIT INFO + +# Get function from functions library + +. /etc/rc.status + +BASE=glusterfsd +GSERVER="/usr/sbin/$BASE -f /etc/glusterfs/glusterfsd.vol" +RETVAL=0 + +# Start the service $BASE +start() +{ + echo -n $"Starting $BASE:" + startproc $GSERVER + return $? +} + +# Stop the service $BASE +stop() +{ + echo $"Stopping $BASE:" + killproc $BASE + return $? +} + + +### service arguments ### +case $1 in + start) + start || { + rc_status -v + rc_exit + } + rc_status -v + ;; + stop) + stop || { + rc_status -v + rc_exit + } + rc_status -v + ;; + status) + echo -n " glusterfsd" + if ! checkproc $BASE ;then + echo " not running" + rc_failed 3 + fi + rc_status -v + ;; + restart) + $0 stop + $0 start + rc_status + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}." + exit 1 +esac + +exit 0 -- cgit