2003-11-07 15:18:41 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
2009-07-30 13:30:37 +02:00
|
|
|
# chkconfig: 345 80 20
|
2003-11-07 15:18:41 +01:00
|
|
|
# description: Start/Stop firebird database server
|
|
|
|
#
|
|
|
|
# This file belongs in /etc/init.d where it will be run
|
|
|
|
# on system startup and shutdown to start the background
|
2008-05-08 09:29:44 +02:00
|
|
|
# Firebird database server daemon
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2010-11-11 08:41:17 +01:00
|
|
|
### BEGIN INIT INFO
|
|
|
|
# Provides: firebird
|
|
|
|
# Required-Start: $remote_fs $syslog $named
|
|
|
|
# Required-Stop: $remote_fs
|
|
|
|
# Default-Start: 2 3 4 5
|
|
|
|
# Default-Stop: 0 1 6
|
|
|
|
# Short-Description: Start firebird server
|
|
|
|
# Description: Start the firebird guardian process (fbguard)
|
|
|
|
# which starts the actual firebird server process
|
|
|
|
# (firebird) and makes sure there is always firebird
|
|
|
|
# running
|
|
|
|
### END INIT INFO
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2005-12-30 16:13:29 +01:00
|
|
|
# This init script contains functions specific for debian
|
|
|
|
# init scripts.
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2014-02-27 16:38:53 +01:00
|
|
|
# Source LSB function library.
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2009-09-11 12:49:46 +02:00
|
|
|
FIREBIRD=@FB_CONFDIR@
|
2003-11-07 15:18:41 +01:00
|
|
|
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/`basename $0`.pid"
|
2008-04-25 18:37:30 +02:00
|
|
|
FB_OPTS="-pidfile $pidfile -daemon -forever"
|
2012-03-07 13:04:43 +01:00
|
|
|
export FIREBIRD
|
|
|
|
|
|
|
|
ISC_USER=
|
|
|
|
ISC_PASSWORD=
|
|
|
|
export ISC_USER ISC_PASSWORD
|
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)
|
2015-12-28 15:10:42 +01:00
|
|
|
printf %s "Starting Firebird server: "
|
2008-04-25 18:37:30 +02:00
|
|
|
start-stop-daemon --start --quiet --oknodo --chuid $FBRunUser --exec $GUARDIAN -- $FB_OPTS
|
2003-11-07 15:18:41 +01:00
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
stop)
|
2014-02-27 16:38:53 +01:00
|
|
|
if pidof $GUARDIAN > /dev/null; then
|
2015-12-28 15:10:42 +01:00
|
|
|
printf %s "Stopping Guardian server: "
|
2014-02-27 16:38:53 +01:00
|
|
|
start-stop-daemon --stop --quiet --oknodo --retry 10 --exec $GUARDIAN
|
2015-12-28 15:10:42 +01:00
|
|
|
fi
|
|
|
|
printf %s "Stopping Firebird server: "
|
2006-04-16 14:58:29 +02:00
|
|
|
if [ -f $pidfile ]
|
|
|
|
then
|
|
|
|
kill `cat $pidfile`
|
|
|
|
fi
|
2003-11-07 15:18:41 +01:00
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
restart|reload)
|
|
|
|
$0 stop
|
|
|
|
$0 start
|
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
shutdown)
|
2015-12-28 15:10:42 +01:00
|
|
|
printf %s "Forcibly killing Firebird server..."
|
2003-11-07 15:18:41 +01:00
|
|
|
killall fbguard
|
2013-07-29 09:23:37 +02:00
|
|
|
killall firebird
|
2003-11-07 15:18:41 +01:00
|
|
|
echo "done."
|
|
|
|
RETVAL=0
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Usage: firebird {start|stop|shutdown|restart|reload}"
|
|
|
|
exit 1
|
|
|
|
esac
|
|
|
|
|
|
|
|
exit $RETVAL
|