]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/redhat/bacula-fd.in
Backport from Bacula Enterprise
[bacula/bacula] / bacula / platforms / redhat / bacula-fd.in
1 #! /bin/sh
2 #
3 # Copyright (C) 2000-2015 Kern Sibbald
4 # License: BSD 2-Clause; see file LICENSE-FOSS
5 #
6 # bacula       This shell script takes care of starting and stopping
7 #              the bacula File daemon.
8 #
9 # chkconfig: 2345 91 9
10 # description: The Leading Open Source Backup Solution.
11 #
12 #  For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
13 #
14
15 # Source function library
16 . /etc/rc.d/init.d/functions
17
18 DAEMON_OPTIONS=''
19 DAEMON_USER='yes'
20 FD_USER=@fd_user@
21 FD_GROUP=@fd_group@
22 FD_OPTIONS=''
23 OS=`uname -s`
24
25 # if /lib/tls exists, force Bacula to use the glibc pthreads instead
26 if [ -d "/lib/tls" -a $OS = "Linux" -a `uname -r | cut -c1-3` = "2.4" ] ; then
27      export LD_ASSUME_KERNEL=2.4.19
28 fi
29
30 # pull in any user defined FD_OPTIONS, FD_USER, FD_GROUP 
31 [ -f /etc/sysconfig/bacula ] && . /etc/sysconfig/bacula
32
33 #
34 # Disable Glibc malloc checks, it doesn't help and it keeps from getting
35 #   good dumps
36 MALLOC_CHECK_=0
37 export MALLOC_CHECK_
38
39 RETVAL=0
40 case "$1" in
41     start)
42        if [ "${FD_USER}" != '' ]; then
43           FD_OPTIONS="${FD_OPTIONS} -u ${FD_USER}"
44        fi
45                                                                                    
46        if [ "${FD_GROUP}" != '' ]; then
47           FD_OPTIONS="${FD_OPTIONS} -g ${FD_GROUP}"
48        fi
49
50        if [ "${DAEMON_USER}" != '' -a "${FD_USER}" != '' ]; then
51           FD_OPTIONS=""
52           if [ "${FD_GROUP}" != '' ]; then
53              chown ${FD_USER}:${FD_GROUP} @working_dir@/bacula-fd* 2> /dev/null
54           else 
55              chown ${FD_USER} @working_dir@/bacula-fd* 2> /dev/null
56           fi
57           DAEMON_OPTIONS="--user ${FD_USER}"
58        fi
59
60        echo -n "Starting Bacula File services: "
61        daemon ${DAEMON_OPTIONS} @sbindir@/bacula-fd $2 ${FD_OPTIONS} -c @sysconfdir@/bacula-fd.conf
62        RETVAL=$?
63        echo
64        [ $RETVAL -eq 0 ] && touch @subsysdir@/bacula-fd
65        ;;
66     stop)
67        echo -n "Stopping Bacula File services: "
68        killproc @sbindir@/bacula-fd
69        RETVAL=$?
70        echo
71        [ $RETVAL -eq 0 ] && rm -f @subsysdir@/bacula-fd
72        ;;
73     restart)
74        $0 stop
75        sleep 5
76        $0 start
77        RETVAL=$?
78        ;;
79     status)
80        status @sbindir@/bacula-fd
81        RETVAL=$?
82        ;;
83     *)
84        echo "Usage: $0 {start|stop|restart|status}"
85        exit 1
86        ;;
87 esac
88 exit $RETVAL