committed the script under extras/init.d/glusterfsd. Thanks a bunch! avati 2007/8/3, Christopher Hawkins <chawkins@xxxxxxxxxxxxxxxxxxxx>: > > > Subject: Re: 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@xxxxxxxxxx > 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