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 <avati@xxxxxxxxxxxxx> wrote: >> 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 >> _______________________________________________ >> Gluster-devel mailing list >> Gluster-devel@xxxxxxxxxx >> http://lists.nongnu.org/mailman/listinfo/gluster-devel >> > _______________________________________________ > Gluster-devel mailing list > Gluster-devel@xxxxxxxxxx > http://lists.nongnu.org/mailman/listinfo/gluster-devel > -- -Michael Fincham Unleash Technology Solutions