[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gluster-devel] Init script
From: |
Christopher Hawkins |
Subject: |
[Gluster-devel] Init script |
Date: |
Fri, 3 Aug 2007 07:57:08 -0400 |
> 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] 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 <=
- 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, 2007/08/29
Re: [Gluster-devel] Updated debian patch, Leonardo Rodrigues de Mello, 2007/08/03