#!/bin/sh # # Script to run bcfg2 with cron. # # This script is designed so that bcfg2-cron can be invoked from both # /etc/cron.daily and /etc/cron.hourly. This allows the administrators to # modify /etc/default/bcfg2 and define the wanted frequency of cron runs. # # Default is not to run at all from cron BCFG2_CRON=off BCFG2_ENABLED=0 # Set default options # This script will respect additional variables: # BCFG_OPTIONS_DAILY and BCFG_OPTIONS_HOURLY are added to BCFG2_OPTIONS # This allows you to run different types of passes with cron BCFG2_OPTIONS="-q" # bcfg2 file locations BCFG2_BIN=/usr/sbin/bcfg2 BCFG2_CFG=/etc/bcfg2.conf # Read the configuration from /etc/default/bcfg2 [ -e /etc/default/bcfg2 ] && . /etc/default/bcfg2 # Check that configuration and executable exists [ -x ${BCFG2_BIN} -a -e ${BCFG2_CFG} ] || exit 1 invoke_bcfg2 () { # Invoke bcfg2 if enabled if [ ${BCFG2_ENABLED} -eq 1 ]; then eval BCFG2_EXTRA_OPTIONS=\${BCFG2_OPTIONS_${RUNTYPE}} ${BCFG2_BIN} ${BCFG2_OPTIONS} ${BCFG2_EXTRA_OPTIONS} fi } case $1 in "--daily") [ "x${BCFG2_CRON}" = "xdaily" -o "x${BCFG2_CRON}" = "xboth" ] && \ RUNTYPE=DAILY invoke_bcfg2 ;; "--hourly") [ "x${BCFG2_CRON}" = "xhourly" -o "x${BCFG2_CRON}" = "xboth" ] && \ RUNTYPE=HOURLY invoke_bcfg2 ;; *) echo "Usage: $0 [--daily|--hourly]" exit 1 ;; esac