From 1c6677ebddff17f5efdaddebf19a89ec15d58b3d Mon Sep 17 00:00:00 2001
From: intrigeri <intrigeri@boum.org>
Date: Sat, 8 Jun 2013 08:58:49 +0200
Subject: [PATCH] Add option to include rdiff-backup output in reports.

Thanks to David Gasaway <dave@gasaway.org> for the patch.
---
 examples/example.rdiff | 14 ++++++++++++++
 handlers/rdiff.in      | 13 +++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/examples/example.rdiff b/examples/example.rdiff
index e8ce542d..323b3ebe 100644
--- a/examples/example.rdiff
+++ b/examples/example.rdiff
@@ -53,6 +53,20 @@
 ## Default:
 # ignore_version = no
 
+## should backupninja write program output as Info messages rather than Debug
+## messages? (default: no)
+## Usually rdiff-backup output (for increment expiration and backup) is written
+## to output as Debug messages; this option causes backupninja to use Info-level
+## messages instead. Since backup reports include Info messages, this option is
+## useful to receive output like rdiff-backup session statistics in reports. In
+## addition, since rdiff-backup has a habit of using a zero exit code when
+## non-fatal errors are encountered (causing backupninja to conclude the backup
+## was entirely successful), this option is useful for inspecting non-fatal
+## filesystem and permission errors from rdiff-backup.
+##
+## Default:
+# output_as_info = no
+
 ######################################################
 ## source section
 ## (where the files to be backed up are coming from)
diff --git a/handlers/rdiff.in b/handlers/rdiff.in
index c3c8d1d5..471a3d71 100644
--- a/handlers/rdiff.in
+++ b/handlers/rdiff.in
@@ -85,6 +85,7 @@ getconf testconnect yes
 getconf nicelevel 0
 getconf bwlimit
 getconf ignore_version no
+getconf output_as_info no
 
 setsection source
 getconf type; sourcetype=$type
@@ -182,7 +183,11 @@ if [ "$keep" != yes ]; then
    if [ $test = 0 ]; then
       output="`su -c "$removestr" 2>&1`"
       if [ $? = 0 ]; then
-         debug $output
+         if [ "$output_as_info" == "yes" ]; then
+            info $output
+         else
+            debug $output
+         fi
          info "Removing backups older than $keep days succeeded."
       else
          warning $output
@@ -268,7 +273,11 @@ debug "$execstr"
 if [ $test = 0 ]; then
    output=`nice -n $nicelevel su -c "$execstr" 2>&1`
    if [ $? = 0 ]; then
-      debug $output
+      if [ "$output_as_info" == "yes" ]; then
+         info $output
+      else
+         debug $output
+      fi
       info "Successfully finished backing up source $label"
    else
       error $output
-- 
GitLab