8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 16:03:02 +01:00
firebird-mirror/builds/install/arch-specific/linux/firebird.init.d.mandrake.in
alexpeshkoff 957b696b5c Added support for systemd
Removed scripts to change firebird runuser to root and back to firebird
Removed script changing SYSDBA password (nothing except gsec call left in it)
Reorganize posix/linux install files minimizing OS-specific part of .tgz install scripts
Related cleanup and bugfixing in posix install
2013-09-13 12:27:16 +00:00

117 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
# 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