1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#! /bin/sh
#
# Bacula(R) - The Network Backup Solution
#
# Copyright (C) 2000-2022 Kern Sibbald
#
# The original author of Bacula is Kern Sibbald, with contributions
# from many others, a complete list can be found in the file AUTHORS.
#
# You may use this file and others of this release according to the
# license defined in the LICENSE file, which includes the Affero General
# Public License, v3.0 ("AGPLv3") and some additional permissions and
# terms pursuant to its AGPLv3 Section 7.
#
# This notice must be preserved when any source code is
# conveyed and/or propagated.
#
# Bacula(R) is a registered trademark of Kern Sibbald.
#
# breload This shell script takes care of reloading the director after
# a backup of the configuration and a bacula-dir -t test
#
#
BACDIRBIN=@sbindir@
BACDIRCFG=@sysconfdir@
BACWORKDIR=@working_dir@
BACBKPDIR=$BACWORKDIR/bkp
Bacula="@BACULA@"
DIR_USER=@dir_user@
RET=0
if [ -x ${BACDIRBIN}/bacula-dir -a -r ${BACDIRCFG}/bacula-dir.conf ]; then
echo "Testing the $Bacula Director daemon configuration"
if [ $(whoami) != "$DIR_USER" ]; then
USER_OPT="-u $DIR_USER"
fi
${BACDIRBIN}/bacula-dir -t $USER_OPT -c ${BACDIRCFG}/bacula-dir.conf
RET=$?
if [ $RET = 0 ]; then
if [ ! -d $BACBKPDIR ]; then
echo "Creating Backup configuration directory"
mkdir -p $BACBKPDIR
chmod 700 $BACBKPDIR
chown $DIR_USER $BACBKPDIR
fi
if [ -d $BACDIRCFG/conf.d ]; then
CONFD=$BACDIRCFG/conf.d
fi
if [ -d $BACBKPDIR ]; then
echo "Backup configuration"
tar cfz $BACBKPDIR/bacula-dir-conf.$(date +%s).tgz $BACDIRCFG/*conf $CONFD
fi
echo reload | ${BACDIRBIN}/bconsole >/dev/null
echo "Reloading configuration"
else
echo "Can't reload configuration, please correct errors first"
fi
fi
exit $RET
|