#!/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