[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] Init script
From: |
Chris AtLee |
Subject: |
Re: [Gluster-devel] Init script |
Date: |
Tue, 28 Aug 2007 14:08:01 -0400 |
On my (debian) system, the 'initlog' command doesn't exist, so this
script prints out a lot of errors, and there are some issues with how
'kill' works.
init.d scripts are pretty hard to get working across multiple
distributions. The best way I know of is to only rely on commands in
/lib/lsb/init-functions.
The attached script runs cleanly on my system.
On 8/7/07, Anand Avati <address@hidden> wrote:
> committed the script under extras/init.d/glusterfsd. Thanks a bunch!
>
> avati
>
> 2007/8/3, Christopher Hawkins <address@hidden>:
> >
> > > 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
> > address@hidden
> > 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
> _______________________________________________
> Gluster-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
- [Gluster-devel] Updated debian patch, Chris AtLee, 2007/08/02
- Re: [Gluster-devel] Updated debian patch, Anand Avati, 2007/08/02
- Re: [Gluster-devel] Updated debian patch, Matt Paine, 2007/08/02
- [Gluster-devel] Init script, Christopher Hawkins, 2007/08/03
- Re: [Gluster-devel] Init script, Chris AtLee, 2007/08/05
- Re: [Gluster-devel] Init script, Anand Avati, 2007/08/07
- Re: [Gluster-devel] Init script,
Chris AtLee <=
- Message not available
- Re: [Gluster-devel] Init script, Chris AtLee, 2007/08/28
- RE: [Gluster-devel] Init script, Christopher Hawkins, 2007/08/28
- Re: [Gluster-devel] Init script, Michael Fincham, 2007/08/29
Re: [Gluster-devel] Updated debian patch, Leonardo Rodrigues de Mello, 2007/08/03