#!/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 # This init script contains functions specific for debian # init scripts. # Source function library. #. /etc/rc.d/init.d/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 GUARDIAN=$FIREBIRD/bin/fbguard if [ ! -x $GUARDIAN ]; then GUARDIAN=@FB_SBINDIR@/fbguard fi # See how we were called. case "$1" in start) echo -n "Starting Firebird server: " start-stop-daemon --start --quiet --oknodo --chuid $FBRunUser --exec $GUARDIAN -- $FB_OPTS RETVAL=$? ;; stop) echo -n "Stopping Firebird server: " if [ -f $pidfile ] then kill `cat $pidfile` fi RETVAL=$? ;; restart|reload) $0 stop $0 start RETVAL=$? ;; shutdown) echo -n "Forcibly killing Firebird server..." killall fbguard killall fbserver killall fb_smp_server echo "done." RETVAL=0 ;; *) echo "Usage: firebird {start|stop|shutdown|restart|reload}" exit 1 esac exit $RETVAL