#! /bin/sh
#
# Copyright (C) 2000-2015 Kern Sibbald
# License: BSD 2-Clause; see file LICENSE-FOSS
#
# bacula This shell script takes care of starting and stopping
# the bacula File daemon.
#
# chkconfig: 2345 91 9
# description: The Leading Open Source Backup Solution.
#
# For Bacula release 7.4.6 (10 March 2017) -- redhat
#
# Source function library
. /etc/rc.d/init.d/functions
DAEMON_OPTIONS=''
DAEMON_USER='yes'
FD_USER=root
FD_GROUP=root
FD_OPTIONS=''
OS=`uname -s`
# if /lib/tls exists, force Bacula to use the glibc pthreads instead
if [ -d "/lib/tls" -a $OS = "Linux" -a `uname -r | cut -c1-3` = "2.4" ] ; then
export LD_ASSUME_KERNEL=2.4.19
fi
# pull in any user defined FD_OPTIONS, FD_USER, FD_GROUP
[ -f /etc/sysconfig/bacula ] && . /etc/sysconfig/bacula
#
# Disable Glibc malloc checks, it doesn't help and it keeps from getting
# good dumps
MALLOC_CHECK_=0
export MALLOC_CHECK_
RETVAL=0
case "$1" in
start)
if [ "${FD_USER}" != '' ]; then
FD_OPTIONS="${FD_OPTIONS} -u ${FD_USER}"
fi
if [ "${FD_GROUP}" != '' ]; then
FD_OPTIONS="${FD_OPTIONS} -g ${FD_GROUP}"
fi
if [ "${DAEMON_USER}" != '' -a "${FD_USER}" != '' ]; then
FD_OPTIONS=""
if [ "${FD_GROUP}" != '' ]; then
chown ${FD_USER}:${FD_GROUP} /var/lib/bacula/bacula-fd* 2> /dev/null
else
chown ${FD_USER} /var/lib/bacula/bacula-fd* 2> /dev/null
fi
DAEMON_OPTIONS="--user ${FD_USER}"
fi
echo -n "Starting Bacula File services: "
daemon ${DAEMON_OPTIONS} /usr/sbin/bacula-fd $2 ${FD_OPTIONS} -c /etc/bacula/bacula-fd.conf
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/bacula-fd
;;
stop)
echo -n "Stopping Bacula File services: "
killproc /usr/sbin/bacula-fd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bacula-fd
;;
restart)
$0 stop
sleep 5
$0 start
RETVAL=$?
;;
status)
status /usr/sbin/bacula-fd
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit $RETVAL