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

119 lines
2.5 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: $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
fb_install_prefix=@prefix@
# 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=@FB_CONFDIR@
# No changes needed below for multiple instances
name=$(basename `readlink -f $0`)
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/$INSTANCE.pid"
FULLNAME="Firebird server [$INSTANCE]"
LD_LIBRARY_PATH=$FIREBIRD/lib:$LD_LIBRARY_PATH
export FIREBIRD LD_LIBRARY_PATH
ISC_USER=
ISC_PASSWORD=
export ISC_USER ISC_PASSWORD
GUARDIAN=$FIREBIRD/bin/fbguard
if [ ! -x $GUARDIAN ]; then
GUARDIAN=@FB_SBINDIR@/fbguard
fi
# 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"
RETVAL=3
fi
;;
restart|reload)
$0 stop
sleep 1
$0 start
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
exit 1
esac
exit $RETVAL