mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 08:03:04 +01:00
119 lines
2.5 KiB
Bash
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
|