#!/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: $local_fs $syslog # Required-Stop: # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: Firebird server database # Description: Starts and stops the Firebird database server backend daemon. ### END INIT INFO # 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 /usr/lib64/firebird 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=/usr/lib64/firebird # No changes needed below for multiple instances name=$(basename `readlink -f $0`) FBRunUser=firebird pidfile=/var/run/firebird/$INSTANCE.pid FULLNAME="Firebird server [$INSTANCE]" LD_LIBRARY_PATH=$FIREBIRD/lib MANAGER=$FIREBIRD/bin/fbmgr.bin export FIREBIRD LD_LIBRARY_PATH RETVAL=0 # Check the file is there and is executable. [ -x $MANAGER ] || exit 1 # See how we were called. case "$1" in start) gprintf "Starting %s " "$FULLNAME" daemon --user=$FBRunUser "export FIREBIRD LD_LIBRARY_PATH; $MANAGER -pidfile $pidfile -start -forever" RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$name echo ;; stop) if [ -f $pidfile ] then gprintf "Stopping %s: " "$FULLNAME" killproc -p $pidfile $name RETVAL=$? echo else gprintf "%s is stopped" "$FULLNAME" 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 ] && gprintf "%s is running (pid %s)\n" "$FULLNAME" "$pid" || gprintf "%s is dead but pid file exists\n" "$FULLNAME" else gprintf "%s is stopped" "$FULLNAME" fi ;; restart|reload) $0 stop sleep 1 $0 start RETVAL=$? ;; *) gprintf "Usage: %s {start|stop|status|restart|reload}\n" "$name" exit 1 esac exit $RETVAL