2003-11-07 15:18:41 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
2009-07-29 10:07:27 +02:00
|
|
|
# chkconfig: 345 80 20
|
2003-11-07 15:18:41 +01:00
|
|
|
# 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
|
2008-05-08 09:29:44 +02:00
|
|
|
# Firebird database server daemon
|
2009-07-29 10:07:27 +02:00
|
|
|
### 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
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2007-11-26 16:41:34 +01:00
|
|
|
# Source function library - RedHat or Mandriva specific
|
2009-07-21 13:02:30 +02:00
|
|
|
# functions actually used: checkpid killproc daemon
|
2003-11-07 15:18:41 +01:00
|
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
|
2007-11-26 16:41:34 +01:00
|
|
|
# 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
|
2009-09-11 12:49:46 +02:00
|
|
|
FIREBIRD=@FB_CONFDIR@
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2007-11-26 16:41:34 +01:00
|
|
|
# No changes needed below for multiple instances
|
2009-08-05 13:52:58 +02:00
|
|
|
name=$(basename `readlink -f $0`)
|
2007-11-26 16:41:34 +01:00
|
|
|
FBRunUser=firebird
|
2009-09-21 15:39:23 +02:00
|
|
|
|
|
|
|
makeFbDir() {
|
|
|
|
mDir=${1}
|
2009-12-08 16:02:09 +01:00
|
|
|
mode=${2}
|
2009-09-21 15:39:23 +02:00
|
|
|
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"
|
2007-11-26 16:41:34 +01:00
|
|
|
FULLNAME="Firebird server [$INSTANCE]"
|
2013-09-13 14:27:16 +02:00
|
|
|
LD_LIBRARY_PATH=$FIREBIRD/lib:$LD_LIBRARY_PATH
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2007-11-26 16:41:34 +01:00
|
|
|
export FIREBIRD LD_LIBRARY_PATH
|
2003-11-07 15:18:41 +01:00
|
|
|
|
2012-03-07 13:04:43 +01:00
|
|
|
ISC_USER=
|
|
|
|
ISC_PASSWORD=
|
|
|
|
export ISC_USER ISC_PASSWORD
|
|
|
|
|
2008-04-25 18:37:30 +02:00
|
|
|
GUARDIAN=$FIREBIRD/bin/fbguard
|
2009-09-11 12:49:46 +02:00
|
|
|
if [ ! -x $GUARDIAN ]; then
|
|
|
|
GUARDIAN=@FB_SBINDIR@/fbguard
|
|
|
|
fi
|
|
|
|
|
2009-07-21 13:02:30 +02:00
|
|
|
# initialize as "success"
|
|
|
|
RETVAL=0
|
2003-11-07 15:18:41 +01:00
|
|
|
|
|
|
|
# See how we were called.
|
|
|
|
case "$1" in
|
|
|
|
start)
|
2007-11-26 16:41:34 +01:00
|
|
|
echo -n "Starting $FULLNAME "
|
2009-07-21 13:02:30 +02:00
|
|
|
daemon --user=$FBRunUser "export FIREBIRD LD_LIBRARY_PATH; $GUARDIAN -pidfile $pidfile -daemon -forever"
|
2003-11-07 15:18:41 +01:00
|
|
|
RETVAL=$?
|
2009-07-21 13:02:30 +02:00
|
|
|
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$name
|
2005-03-13 17:04:59 +01:00
|
|
|
echo
|
2003-11-07 15:18:41 +01:00
|
|
|
;;
|
|
|
|
stop)
|
2006-04-16 14:58:29 +02:00
|
|
|
if [ -f $pidfile ]
|
|
|
|
then
|
2009-07-21 13:02:30 +02:00
|
|
|
echo -n "Stopping $FULLNAME: "
|
|
|
|
killproc -p $pidfile $name
|
|
|
|
RETVAL=$?
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo -n "$FULLNAME server is stopped"
|
|
|
|
echo
|
2006-04-16 14:58:29 +02:00
|
|
|
fi
|
2009-07-23 02:56:28 +02:00
|
|
|
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$name
|
2003-11-07 15:18:41 +01:00
|
|
|
;;
|
|
|
|
status)
|
2007-11-26 16:41:34 +01:00
|
|
|
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"
|
2012-12-14 11:01:27 +01:00
|
|
|
RETVAL=3
|
2007-11-26 16:41:34 +01:00
|
|
|
fi
|
2003-11-07 15:18:41 +01:00
|
|
|
;;
|
|
|
|
restart|reload)
|
|
|
|
$0 stop
|
2007-03-09 14:32:17 +01:00
|
|
|
sleep 1
|
2003-11-07 15:18:41 +01:00
|
|
|
$0 start
|
|
|
|
RETVAL=$?
|
|
|
|
;;
|
|
|
|
*)
|
2009-07-21 13:02:30 +02:00
|
|
|
echo "Usage: $0 {start|stop|status|restart|reload}"
|
2003-11-07 15:18:41 +01:00
|
|
|
exit 1
|
|
|
|
esac
|
|
|
|
|
|
|
|
exit $RETVAL
|