2003-11-07 15:18:41 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# description: Start/Stop firebird database server
|
|
|
|
|
2007-11-27 08:45:37 +01:00
|
|
|
# To run more instances of firebird:
|
|
|
|
# Copy @prefix@ somewhere
|
|
|
|
# Copy this script under a new name
|
|
|
|
# Change INSTANCE and FIREBIRD below (all instance names should be unique)
|
|
|
|
# Edit the copied firebird.conf to change at least RemoteServicePort
|
|
|
|
INSTANCE=default
|
2009-09-11 12:49:46 +02:00
|
|
|
FIREBIRD=@FB_CONFDIR@
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2007-11-27 08:45:37 +01:00
|
|
|
# No changes needed below for multiple instances
|
|
|
|
FBRunUser=firebird
|
2009-09-21 15:39:23 +02:00
|
|
|
|
|
|
|
makeFbDir() {
|
|
|
|
mDir=${1}
|
2009-12-08 16:02:09 +01:00
|
|
|
mode=${2}
|
2009-09-21 15:39:23 +02:00
|
|
|
if [ ! -d $mDir ]; then
|
|
|
|
rm -rf $mDir
|
|
|
|
mkdir $mDir
|
|
|
|
if [ "$mode" ]; then
|
|
|
|
chmod $mode $mDir
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
chown $FBRunUser:$FBRunUser $mDir
|
|
|
|
}
|
|
|
|
runDir=/var/run/firebird
|
|
|
|
makeFbDir $runDir
|
|
|
|
lockDir=/tmp/firebird
|
|
|
|
makeFbDir $lockDir 0770
|
|
|
|
|
|
|
|
pidfile="$runDir/$INSTANCE.pid"
|
2007-11-27 08:45:37 +01:00
|
|
|
FULLNAME="Firebird server [$INSTANCE]"
|
|
|
|
LD_LIBRARY_PATH=$FIREBIRD/lib
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2007-11-27 08:45:37 +01:00
|
|
|
export FIREBIRD LD_LIBRARY_PATH
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2008-04-25 18:37:30 +02:00
|
|
|
GUARDIAN=$FIREBIRD/bin/fbguard
|
2009-09-11 12:49:46 +02:00
|
|
|
if [ ! -x $GUARDIAN ]; then
|
|
|
|
GUARDIAN=@FB_SBINDIR@/fbguard
|
|
|
|
fi
|
2003-11-07 15:18:41 +01:00
|
|
|
|
|
|
|
# See how we were called.
|
|
|
|
case "$1" in
|
|
|
|
start)
|
2007-11-27 08:45:37 +01:00
|
|
|
echo -n "Starting $FULLNAME: "
|
2008-04-25 18:37:30 +02:00
|
|
|
echo "$GUARDIAN -pidfile $pidfile -daemon -forever" | su $FBRunUser
|
2003-11-07 15:18:41 +01:00
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
stop)
|
2007-11-27 08:45:37 +01:00
|
|
|
echo -n "Stopping $FULLNAME: "
|
2006-04-16 14:58:29 +02:00
|
|
|
if [ -f $pidfile ]
|
|
|
|
then
|
|
|
|
kill `cat $pidfile`
|
|
|
|
fi
|
2007-11-27 08:45:37 +01:00
|
|
|
echo "stopped."
|
2003-11-07 15:18:41 +01:00
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
status)
|
2007-11-27 08:45:37 +01:00
|
|
|
if [ -f $pidfile ]
|
|
|
|
then
|
|
|
|
pid=`cat $pidfile`
|
|
|
|
ps -p $pid >/dev/null 2>&1
|
|
|
|
RETVAL=$?
|
|
|
|
else
|
|
|
|
RETVAL=1
|
|
|
|
fi
|
|
|
|
if [ $RETVAL -eq 0 ]
|
|
|
|
then
|
|
|
|
echo "$FULLNAME is running, pid $pid"
|
|
|
|
else
|
|
|
|
echo "$FULLNAME is stopped."
|
|
|
|
fi
|
2003-11-07 15:18:41 +01:00
|
|
|
;;
|
|
|
|
restart|reload)
|
|
|
|
$0 stop
|
2007-03-09 14:32:17 +01:00
|
|
|
sleep 1
|
2003-11-07 15:18:41 +01:00
|
|
|
$0 start
|
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Usage: firebird {start|stop|status|restart|reload}"
|
|
|
|
exit 1
|
|
|
|
esac
|
|
|
|
|
|
|
|
exit $RETVAL
|
|
|
|
|