On Mon, Jan 04, 2010 at 11:55:07PM +0100, intrigeri wrote:
> Hi,
> 
> Olivier Berger wrote (04 Jan 2010 22:28:26 GMT) :
> > I will try and propose a patch (redirection to temporary file) as
> > well as with the ability to get the outputs of duplicity sent by
> > mail in case of success (#563734).

Here's a first attempt at a patch, which I hope will solve the problem (see 
attached file) by reading output of duplicity one line at a time. It should 
apply fine to /usr/share/backupninja/dup.

It will be better noticeable with duplicity verbosity increased in the options.

> 
> Great! Don't hesitate joining the backupninja mailing list[1] in case
> you want to discuss such things deeper.
> 
> [1] https://lists.riseup.net/www/info/backupninja
> 

Already done ;)

Hope this helps.

Best regards,
-- 
Olivier BERGER 
(OpenPGP: 1024D/B4C5F37F)
http://www.olivierberger.com/weblog/
>From b2f60d735235980ffe309ffacd43df3fdad1d6f6 Mon Sep 17 00:00:00 2001
From: Olivier Berger <ober...@ouvaton.org>
Date: Tue, 5 Jan 2010 06:44:36 +0100
Subject: [PATCH] Add duplicity output line by line instead of with a whole at one time. Should help fix #536360

---
 handlers/dup.in |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/handlers/dup.in b/handlers/dup.in
index aed6030..c7d7b1f 100644
--- a/handlers/dup.in
+++ b/handlers/dup.in
@@ -263,18 +263,23 @@ fi
 ### Backup command
 debug "$precmd duplicity $execstr_command $execstr_options $execstr_source --exclude '**' / $execstr_serverpart"
 if [ ! $test ]; then
+   outputfile=`maketemp backupout`
    export PASSPHRASE=$password
    output=`nice -n $nicelevel \
              su -c \
-                "$precmd duplicity $execstr_command $execstr_options $execstr_source --exclude '**' / $execstr_serverpart 2>&1"`
+                "$precmd duplicity $execstr_command $execstr_options $execstr_source --exclude '**' / $execstr_serverpart >$outputfile 2>&1"`
    exit_code=$?
+   debug $output
+   cat $outputfile | (while read output ; do
+                         debug $output
+                      done
+   )
    if [ $exit_code -eq 0 ]; then
-      debug $output
       info "Duplicity finished successfully."
    else
-      debug $output
       fatal "Duplicity failed."
    fi
+   rm $outputfile
 fi
 
 return 0
-- 
1.6.5

Reply via email to