[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] Init script
From: |
Michael Fincham |
Subject: |
Re: [Gluster-devel] Init script |
Date: |
Thu, 30 Aug 2007 14:24:49 +1200 (NZST) |
User-agent: |
SquirrelMail/1.4.9a |
I've got a nice init script I wrote for Ubuntu Server as well. I will
submit it when I get back in to the office.
-Michael
> 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 mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
--
-Michael Fincham
Unleash Technology Solutions
- [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, 2007/08/28
- 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 <=
Re: [Gluster-devel] Updated debian patch, Leonardo Rodrigues de Mello, 2007/08/03