8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 18:43:03 +01:00
firebird-mirror/builds/install/arch-specific/linux/firebird.init.d.debian.in

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