diff options
| -rwxr-xr-x | backupninja | 21 | ||||
| -rw-r--r-- | etc/backupninja.conf | 15 | 
2 files changed, 28 insertions, 8 deletions
| diff --git a/backupninja b/backupninja index 236fb67..921cb96 100755 --- a/backupninja +++ b/backupninja @@ -192,6 +192,8 @@ setfile $CONFFILE  # get global config options (second param is the default)  getconf configdirectory /etc/backup.d  getconf reportemail +getconf reportsuccess yes +getconf reportwarning yes  getconf loglevel 3  getconf logfile /var/log/backupninja.log  getconf SLAPCAT /usr/sbin/slapcat @@ -211,7 +213,9 @@ debug 1 "====== starting at "`date`" ======"  # by default, don't make files which are world or group readable.  umask 077 -for file in $configdirectory/*; do	 +for file in $configdirectory/*; do +	[ -f $file ] || continue; +  	perms=`ls -ld $file`  	perms=${perms:4:6}  	if [ "$perms" != "------" ]; then @@ -238,10 +242,10 @@ for file in $configdirectory/*; do  		errors=`echo $ret | grep -e "^Error: \|^Fatal: " | wc -l`  		if [ $errors != 0 ]; then  			msg "*failed* -- $file" -			error="$error\n== errors from $file ==\n\n$ret\n" +			errormsg="$error\n== errors from $file ==\n\n$ret\n"  		elif [ $warnings != 0 ]; then  			msg "*warning* -- $file" -			error="$error\n== warnings from $file ==\n\n$ret\n" +			errormsg="$error\n== warnings from $file ==\n\n$ret\n"  		elif [ $retcode == 0 ]; then  			msg "success -- $file"  		else @@ -256,13 +260,20 @@ done  ## mail the messages to the report address -if [ "$reportemail" != "" ]; then +if [ "$reportemail" == "" ]; then doit=0 +elif [ $errors != 0 ]; then doit=1 +elif [ "$reportsuccess" == "yes" ]; then doit=1 +elif [ "$reportwarning" == "yes" -a $warnings != 0 ]; then doit=1 +else doit=0 +fi + +if [ $doit == 1 ]; then  	hostname=`hostname`  	{  		for ((i=0; i < ${#messages[@]} ; i++)); do  	 		echo ${messages[$i]}  		done -		echo -e "$error" +		echo -e "$errormsg"  	} | mail $reportemail -s "backupninja: $hostname"  fi diff --git a/etc/backupninja.conf b/etc/backupninja.conf index 4d1b63d..45af4ed 100644 --- a/etc/backupninja.conf +++ b/etc/backupninja.conf @@ -6,15 +6,24 @@  #  # how verbose to make the logs -# 5 -- Debugging messages      (and below) +# 5 -- Debugging messages     (and below)  # 4 -- Informational messages (and below)  # 3 -- Warnings               (and below)  # 2 -- Errors                 (and below)  # 1 -- Fatal errors           (only)  loglevel = 4 -# send a summary of backup status to this email address -# reportemail = root +# send a summary of the backup status to +# this email address: +reportemail = root + +# if set to 'yes', a report email will be generated +# even if all modules reported success. (default = yes) +reportsuccess = yes + +# if set to 'yes', a report email will be generated +# even if there was no error. (default = yes) +reportwarning = yes  #######################################################  # for most installations, the defaults below are good # | 
