Sophie

Sophie

distrib > Mageia > 3 > i586 > by-pkgid > 3b1621a2103f666810506a252adbd6e7 > files > 1

firebird-server-superserver-2.5.2.26539-8.mga3.i586.rpm

#!/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/lib/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=/etc/firebird

# 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

export FIREBIRD LD_LIBRARY_PATH

ISC_USER=
ISC_PASSWORD=
export ISC_USER ISC_PASSWORD

GUARDIAN=$FIREBIRD/bin/fbguard
if [ ! -x $GUARDIAN ]; then
	GUARDIAN=/usr/sbin/fbguard
fi

# initialize as "success"
RETVAL=0

# See how we were called.
case "$1" in
  start)
	gprintf "Starting %s " "$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
		gprintf "Stopping %s: " "$FULLNAME"
		killproc -p $pidfile $name
		RETVAL=$?
		echo
	else
		gprintf "%s server 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\n" "$FULLNAME"
        RETVAL=3
	fi
	;;
  restart|reload)
	$0 stop
	sleep 1
	$0 start
	RETVAL=$?
	;;
  *)
	gprintf "Usage: %s {start|stop|status|restart|reload}\n" "$0"
	exit 1
esac

exit $RETVAL