[Gluster-devel] Init script

Anand Avati avati at zresearch.com
Tue Aug 7 09:53:36 UTC 2007


committed the script under extras/init.d/glusterfsd. Thanks a bunch!

avati

2007/8/3, Christopher Hawkins <chawkins at veracitynetworks.com>:
>
> > Subject: Re: [Gluster-devel] Updated debian patch
> >
> >
> > > Chris,
> > >  any patches you would want us to apply to the codebase (init.d
> > > script?) which might make your life easier?
> >
> > Absolutly. A well maintained init.d script in the code base
> > would be fantastic, and then usable on any system, not just debian.
> >
> >
> >
> > Thanx Matt.
>
> Hi guys,
>
> Here's an init script I put together that should work on any system,
> though
> I have only tried it so far on Centos. It's self contained... doesn't use
> any init functions in the hope that it will portable across distro's. So
> far
> it's been good to me and I was going to post it anyway, so I guess now is
> the time! It's not fancy, doesn't check mounts or anything like that, but
> it
> seems to work well and reliably.
>
> PS - I am not a developer by any stretch of the imagination, so in the
> event
> that my scripting is ugly in the eyes of a real coder, have a laugh at my
> expense but please fix it and re-post.  ;-)  And thanks from all of us to
> the gluster team for all the great work. This is a fantastic project!
>
> #!/bin/bash
> #
> # chkconfig: 35 90 12
> # description: Glusterfsd server
> #
>
> # Get function from functions library
> # . /etc/rc.d/init.d/functions
>
> BASE=glusterfsd
> GSERVER="/sbin/$BASE -f /etc/glusterfs/glusterfs-server.vol"
>
> # A function to stop gluster
> killgluster()
> {
>         killlevel="-9"
>         # Find pid.
>         pid=
>         if [ -f /var/run/$BASE.pid ]; then
>                 local line p
>                 read line < /var/run/$BASE.pid
>                 for p in $line ; do
>                         [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] &&
> pid="$pid
> $p"
>                 done
>         fi
>         if [ -z "$pid" ]; then
>                 pid=`pidof -o $$ -o $PPID -o %PPID -x $1 || \
>                         pidof -o $$ -o $PPID -o %PPID -x $BASE`
>         fi
>         # Kill it.
>         kill $killlevel $pid
>         if [ "$?" = 0 ]
>           then
>              echo "Gluster process $pid has been killed"
>              initlog -n "Kill gluster" -e 1
>           else
>              echo "Failed: Gluster process $pid has not been killed"
>              initlog -n "Kill gluster" -e 2
>         fi
>
>         # Remove pid and lock file if any.
>          if [ -f /var/run/$BASE.pid ]
>             then
>               rm -f /var/run/$BASE.pid && initlog -n "Remove $BASE.pid:"
> -e
> 1
>             else echo "$BASE.pid not found" && initlog -n "Remove
> $BASE.pid:" -e 2
>          fi
>
>          if [ -f /var/lock/subsys/$BASE ]
>             then
>               rm -f /var/lock/subsys/$BASE && initlog -n "Remove $BASE
> lock
> file:" -e 1
>             else echo "$BASE lock file not found" && initlog -n "Remove
> $BASE lock file:" -e 2
>          fi
> }
>
> # Start the service $BASE
> start()
> {
>         initlog -c "echo -n Starting $BASE:"
>         $GSERVER
>         if [ $? = 0 ]
>          then
>            touch /var/lock/subsys/$BASE
>            initlog -n "Starting $BASE" -e 1
>            echo "  [OK]"
>          else
>            echo "$BASE start failed."
>            initlog -n "$BASE start" -e 2
>         fi
> }
>
> # Stop the service $BASE
> stop()
> {
>         echo "Stopping $BASE:"
>         killgluster
> }
> status()
> {
>         if test "`lsof |grep -c /sbin/$BASE`" = "0"
>           then echo "$BASE is stopped."
>           else echo "$BASE is running..."
>         fi
> }
>
> ### service arguments ###
> case $1 in
>   start)
>         start
>         ;;
>   stop)
>         stop
>         ;;
>   status)
>         status
>         ;;
>   restart|reload|condrestart)
>         stop
>         start
>         ;;
>   *)
>         echo $.Usage: $0 {start|stop|restart|reload|status}.
>         exit 1
> esac
>
> exit 0
>
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>



-- 
It always takes longer than you expect, even when you take into account
Hofstadter's Law.

-- Hofstadter's Law



More information about the Gluster-devel mailing list