#! /bin/sh
#
# bareos       This shell script takes care of starting and stopping
#	       the bareos daemons.
#
# description: Backup Archiving REcovery Open Sourced.
#
#
export BAREOS_CONFIG_DIR=${BAREOS_CONFIG_DIR:-/usr/pkg/etc/bareos}
BAREOS_SCRIPTDIR=${BAREOS_SCRIPTDIR:-/usr/pkg/lib/bareos/scripts}
#
# Disable Glibc malloc checks, it doesn't help and it keeps from getting
#   good dumps
MALLOC_CHECK_=0
export MALLOC_CHECK_

case "$1" in
   start)
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-sd ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-sd $1 $2
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-fd ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-fd $1 $2
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-dir ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-dir $1 $2
      ;;

   stop)
      # Stop the FD first so that SD will fail jobs and update catalog
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-fd ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-fd $1 $2
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-sd ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-sd $1 $2
      [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-dir ] && ${BAREOS_SCRIPTDIR}/bareos-ctl-dir $1 $2
      ;;

   restart)
      $0 stop
      sleep 2
      $0 start
      ;;

   status)
      if [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-dir ]; then
         ${BAREOS_SCRIPTDIR}/bareos-ctl-dir status
         status_dir=$?
      fi
      if [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-sd ]; then
         ${BAREOS_SCRIPTDIR}/bareos-ctl-sd status
         status_sd=$?
      fi
      if [ -x ${BAREOS_SCRIPTDIR}/bareos-ctl-fd ]; then
         ${BAREOS_SCRIPTDIR}/bareos-ctl-fd status
         status_fd=$?
      fi
      status_all=`expr ${status_dir:-0} + ${status_sd:-0} + ${status_fd:-0}`
      exit ${status_all}
      ;;

   *)
      echo "Usage: $0 {start|stop|restart|status}"
      exit 1
      ;;
esac
exit 0
