mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 18:43:03 +01:00
100 lines
2.1 KiB
Bash
100 lines
2.1 KiB
Bash
#!/bin/sh
|
|
|
|
# chkconfig: 345 80 20
|
|
# 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
|
|
# Firebird database server daemon
|
|
|
|
### 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
|
|
|
|
fb_install_prefix=@prefix@
|
|
|
|
# This init script contains functions specific for debian.
|
|
# Source LSB function library.
|
|
. /lib/lsb/init-functions
|
|
|
|
|
|
FIREBIRD=@FB_CONFDIR@
|
|
FBRunUser=firebird
|
|
|
|
makeFbDir() {
|
|
mDir=${1}
|
|
mode=${2}
|
|
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"
|
|
FB_OPTS="-pidfile $pidfile -daemon -forever"
|
|
export FIREBIRD
|
|
|
|
ISC_USER=
|
|
ISC_PASSWORD=
|
|
export ISC_USER ISC_PASSWORD
|
|
|
|
GUARDIAN=$FIREBIRD/bin/fbguard
|
|
if [ ! -x $GUARDIAN ]; then
|
|
GUARDIAN=@FB_SBINDIR@/fbguard
|
|
fi
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
printf %s "Starting Firebird server: "
|
|
start-stop-daemon --start --quiet --oknodo --chuid $FBRunUser --exec $GUARDIAN -- $FB_OPTS
|
|
RETVAL=$?
|
|
;;
|
|
stop)
|
|
if pidof $GUARDIAN > /dev/null; then
|
|
printf %s "Stopping Guardian server: "
|
|
start-stop-daemon --stop --quiet --oknodo --retry 10 --exec $GUARDIAN
|
|
fi
|
|
printf %s "Stopping Firebird server: "
|
|
if [ -f $pidfile ]
|
|
then
|
|
kill `cat $pidfile`
|
|
fi
|
|
RETVAL=$?
|
|
;;
|
|
restart|reload)
|
|
$0 stop
|
|
$0 start
|
|
RETVAL=$?
|
|
;;
|
|
shutdown)
|
|
printf %s "Forcibly killing Firebird server..."
|
|
killall fbguard
|
|
killall firebird
|
|
echo "done."
|
|
RETVAL=0
|
|
;;
|
|
*)
|
|
echo "Usage: firebird {start|stop|shutdown|restart|reload}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $RETVAL
|