#!/bin/sh # chkconfig: 345 20 80 # 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 # Source function library - RedHat or Mandriva specific # functions actually used: checkpid killproc daemon . /etc/rc.d/init.d/functions # To run more instances of firebird: # Copy @prefix@ somewhere # Copy this script under a new name # Change at least INSTANCE and FIREBIRD below # Edit the copied firebird.conf to change at least RemoteServicePort # Optionally run chkconfig to autostart the new service INSTANCE=default FIREBIRD=@prefix@ # No changes needed below for multiple instances name=firebird_$INSTANCE FBRunUser=firebird pidfile=/var/run/firebird/$INSTANCE.pid FULLNAME="Firebird server [$INSTANCE]" LD_LIBRARY_PATH=$FIREBIRD/lib export FIREBIRD LD_LIBRARY_PATH GUARDIAN=$FIREBIRD/bin/fbguard # initialize as "success" RETVAL=0 # See how we were called. case "$1" in start) echo -n "Starting $FULLNAME " daemon --user=$FBRunUser "export FIREBIRD LD_LIBRARY_PATH; $GUARDIAN -pidfile $pidfile -daemon -forever" RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$name echo ;; stop) if [ -f $pidfile ] then echo -n "Stopping $FULLNAME: " killproc -p $pidfile $name RETVAL=$? echo else echo -n "$FULLNAME server is stopped" echo fi [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$name ;; status) if [ -f $pidfile ] then pid=`cat $pidfile` checkpid $pid RETVAL=$? [ $RETVAL -eq 0 ] && echo "$FULLNAME is running (pid $pid)" || echo "$FULLNAME is dead but pid file exists" else echo "$FULLNAME is stopped" fi ;; restart|reload) $0 stop sleep 1 $0 start RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload}" exit 1 esac exit $RETVAL