<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Bash Script: Incremental Encrypted Backups with Duplicity (Amazon S3)</title>
	<atom:link href="http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/</link>
	<description>Where I go to remember what I did</description>
	<lastBuildDate>Mon, 08 Mar 2010 11:46:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Damon</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15735</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Mon, 08 Mar 2010 11:46:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15735</guid>
		<description>Hey there - hmm, not sure about the second error.  I need to install the latest version on a different machine to test it ... because I am still using the 5.x series.  I would like to see if this is a problem with the script or with duplicity itself (as the last one).  

One thing you can test is to go to line 210 and add an &quot;echo&quot; before the backup command then see what is being run in your log file.

&lt;pre class=&quot;brush: python; first-line: 208; highlight: [210]; gutter: true;&quot;&gt;duplicity_backup()
{
  echo ${DUPLICITY} ${OPTION} ${VERBOSITY} ${STATIC_OPTIONS} \
  --encrypt-key=${GPG_KEY} \
  --sign-key=${GPG_KEY} \
  ${EXCLUDE} \
  ${INCLUDE} \
  ${EXCLUDEROOT} \
  ${ROOT} ${DEST} \
  &gt;&gt; ${LOGFILE}
}&lt;/pre&gt;

This will output the full command being run rather than execute it -- you could see if it looks suspicious ...</description>
		<content:encoded><![CDATA[<p>Hey there &#8211; hmm, not sure about the second error.  I need to install the latest version on a different machine to test it &#8230; because I am still using the 5.x series.  I would like to see if this is a problem with the script or with duplicity itself (as the last one).  </p>
<p>One thing you can test is to go to line 210 and add an &#8220;echo&#8221; before the backup command then see what is being run in your log file.</p>
<pre class="brush: python; first-line: 208; highlight: [210]; gutter: true;">duplicity_backup()
{
  echo ${DUPLICITY} ${OPTION} ${VERBOSITY} ${STATIC_OPTIONS} \
  --encrypt-key=${GPG_KEY} \
  --sign-key=${GPG_KEY} \
  ${EXCLUDE} \
  ${INCLUDE} \
  ${EXCLUDEROOT} \
  ${ROOT} ${DEST} \
  >> ${LOGFILE}
}</pre>
<p>This will output the full command being run rather than execute it &#8212; you could see if it looks suspicious &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15730</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Mon, 08 Mar 2010 04:08:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15730</guid>
		<description>Well, I just got the latest duplicity, and now I am having a new problem:

&lt;pre class=&quot;brush: bash;&quot;&gt;
# ./dt-s3-backup.sh --backup
Traceback (most recent call last):
  File &quot;/usr/bin/duplicity&quot;, line 1239, in ?
    with_tempdir(main)
  File &quot;/usr/bin/duplicity&quot;, line 1232, in with_tempdir
    fn()
  File &quot;/usr/bin/duplicity&quot;, line 1205, in main
    full_backup(col_stats)
  File &quot;/usr/bin/duplicity&quot;, line 416, in full_backup
    globals.backend)
  File &quot;/usr/bin/duplicity&quot;, line 294, in write_multivol
    globals.gpg_profile, globals.volsize)
  File &quot;/usr/lib/python2.4/site-packages/duplicity/gpg.py&quot;, line 272, in GPGWriteFile
    file = GPGFile(True, path.Path(filename), profile)
  File &quot;/usr/lib/python2.4/site-packages/duplicity/gpg.py&quot;, line 105, in __init__
    if globals.gpg_options:
AttributeError: &#039;module&#039; object has no attribute &#039;gpg_options&#039;&lt;/pre&gt;

I have set the GPG_KEY variable in your script.

By any chance, would you suggest reverting duplicity back to a version that is known to work with your script?  (Of course, if you have any idea how to solve this problem, and use the latest/greatest version, that would be ideal).

Thanks!</description>
		<content:encoded><![CDATA[<p>Well, I just got the latest duplicity, and now I am having a new problem:</p>
<pre class="brush: bash;">
# ./dt-s3-backup.sh --backup
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1239, in ?
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1232, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1205, in main
    full_backup(col_stats)
  File "/usr/bin/duplicity", line 416, in full_backup
    globals.backend)
  File "/usr/bin/duplicity", line 294, in write_multivol
    globals.gpg_profile, globals.volsize)
  File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 272, in GPGWriteFile
    file = GPGFile(True, path.Path(filename), profile)
  File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 105, in __init__
    if globals.gpg_options:
AttributeError: 'module' object has no attribute 'gpg_options'</pre>
<p>I have set the GPG_KEY variable in your script.</p>
<p>By any chance, would you suggest reverting duplicity back to a version that is known to work with your script?  (Of course, if you have any idea how to solve this problem, and use the latest/greatest version, that would be ideal).</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15706</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Sun, 07 Mar 2010 04:25:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15706</guid>
		<description>Okay, thanks, I will try to get the new version tomorrow.

Yes, I am using the latest from github, as of earlier today.</description>
		<content:encoded><![CDATA[<p>Okay, thanks, I will try to get the new version tomorrow.</p>
<p>Yes, I am using the latest from github, as of earlier today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damon</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15697</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Sat, 06 Mar 2010 22:26:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15697</guid>
		<description>I just took a quick look on launchpad.net and it appears as if this is a &lt;a href=&quot;https://bugs.launchpad.net/duplicity/+bug/529869&quot; rel=&quot;nofollow&quot;&gt;bug with version 0.6.07&lt;/a&gt; (not the script).  It looks the same to me, anyhow, and they have said a fix is coming (&lt;a href=&quot;https://bugs.launchpad.net/duplicity/+bug/532193/comments/1&quot; rel=&quot;nofollow&quot;&gt;released tomorrow&lt;/a&gt;).

PS - are you using the latest code from github ?  We have some new features there.</description>
		<content:encoded><![CDATA[<p>I just took a quick look on launchpad.net and it appears as if this is a <a href="https://bugs.launchpad.net/duplicity/+bug/529869" rel="nofollow">bug with version 0.6.07</a> (not the script).  It looks the same to me, anyhow, and they have said a fix is coming (<a href="https://bugs.launchpad.net/duplicity/+bug/532193/comments/1" rel="nofollow">released tomorrow</a>).</p>
<p>PS &#8211; are you using the latest code from github ?  We have some new features there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15694</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Sat, 06 Mar 2010 20:36:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15694</guid>
		<description>I am also getting this issue.  I am not using the &#039;remove-older-than&#039; cleanup type; I am using &#039;remove-all-but-n-full&#039; (as suggested by the comments). 

Here is the relevant snippet (I&#039;m pretty sure this is how I downloaded it; I don&#039;t think I modified these lines at all):

&lt;pre class=&quot;brush: bash;&quot;&gt;# FULL BACKUP &amp; REMOVE OLDER THAN SETTINGS
# Because duplicity will continue to add to each backup as you go,
# it will eventually create a very large set of files.  Also, incremental
# backups leave room for problems in the chain, so doing a &quot;full&quot;
# backup every so often isn&#039;t not a bad idea.
#
# You can either remove older than a specific time period:
#CLEAN_UP_TYPE=&quot;remove-older-than&quot;
#CLEAN_UP_VARIABLE=&quot;31D&quot;

# Or, If you would rather keep a certain (n) number of full backups (rather
# than removing the files based on their age), you can use what I use:
CLEAN_UP_TYPE=&quot;remove-all-but-n-full&quot;
CLEAN_UP_VARIABLE=&quot;2&quot;&lt;/pre&gt;

Any ideas?</description>
		<content:encoded><![CDATA[<p>I am also getting this issue.  I am not using the &#8216;remove-older-than&#8217; cleanup type; I am using &#8216;remove-all-but-n-full&#8217; (as suggested by the comments). </p>
<p>Here is the relevant snippet (I&#8217;m pretty sure this is how I downloaded it; I don&#8217;t think I modified these lines at all):</p>
<pre class="brush: bash;"># FULL BACKUP &amp; REMOVE OLDER THAN SETTINGS
# Because duplicity will continue to add to each backup as you go,
# it will eventually create a very large set of files.  Also, incremental
# backups leave room for problems in the chain, so doing a "full"
# backup every so often isn't not a bad idea.
#
# You can either remove older than a specific time period:
#CLEAN_UP_TYPE="remove-older-than"
#CLEAN_UP_VARIABLE="31D"

# Or, If you would rather keep a certain (n) number of full backups (rather
# than removing the files based on their age), you can use what I use:
CLEAN_UP_TYPE="remove-all-but-n-full"
CLEAN_UP_VARIABLE="2"</pre>
<p>Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damon</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15611</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Wed, 03 Mar 2010 15:07:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15611</guid>
		<description>Hmm - what are your &lt;code&gt;remove-older-than&lt;/code&gt; variables ?  Looks like there is an error passing the time variables on the command line ...

Also, as a side note, we have been working on a new version of the script available at: &lt;a href=&quot;http://github.com/thornomad/dt-s3-backup&quot; rel=&quot;nofollow&quot;&gt;http://github.com/thornomad/dt-s3-backup&lt;/a&gt;.  

I haven&#039;t updated this blog yet but will do so soon.</description>
		<content:encoded><![CDATA[<p>Hmm &#8211; what are your <code>remove-older-than</code> variables ?  Looks like there is an error passing the time variables on the command line &#8230;</p>
<p>Also, as a side note, we have been working on a new version of the script available at: <a href="http://github.com/thornomad/dt-s3-backup" rel="nofollow">http://github.com/thornomad/dt-s3-backup</a>.  </p>
<p>I haven&#8217;t updated this blog yet but will do so soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-15610</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Wed, 03 Mar 2010 14:47:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-15610</guid>
		<description>I&#039;ve been using this script for a while, thanks.

Just updated to 6.07 and now getting an error
&lt;pre class=&quot;brush: python;&quot;&gt;
Traceback (most recent call last):
  File &quot;/usr/bin/duplicity&quot;, line 1236, in 
    with_tempdir(main)
  File &quot;/usr/bin/duplicity&quot;, line 1229, in with_tempdir
    fn()
  File &quot;/usr/bin/duplicity&quot;, line 1115, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File &quot;/usr/lib/python2.6/dist-packages/duplicity/commandline.py&quot;, line 876, in ProcessCommandLine
    args = parse_cmdline_options(cmdline_list)
  File &quot;/usr/lib/python2.6/dist-packages/duplicity/commandline.py&quot;, line 450, in parse_cmdline_options
    (options, args) = parser.parse_args()
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 1394, in parse_args
    stop = self._process_args(largs, rargs, values)
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 1434, in _process_args
    self._process_long_opt(rargs, values)
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 1509, in _process_long_opt
    option.process(opt, value, values, self)
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 782, in process
    value = self.convert_value(opt, value)
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 774, in convert_value
    return self.check_value(opt, value)
  File &quot;/usr/lib/python2.6/optparse.py&quot;, line 769, in check_value
    return checker(self, opt, value)
  File &quot;/usr/lib/python2.6/dist-packages/duplicity/commandline.py&quot;, line 110, in check_time
    return dup_time.genstrtotime(value)
  File &quot;/usr/lib/python2.6/dist-packages/duplicity/dup_time.py&quot;, line 271, in genstrtotime
    return override_curtime - intstringtoseconds(timestr)
TypeError: unsupported operand type(s) for -: &#039;NoneType&#039; and &#039;int&#039;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been using this script for a while, thanks.</p>
<p>Just updated to 6.07 and now getting an error</p>
<pre class="brush: python;">
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1236, in
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1229, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1115, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.6/dist-packages/duplicity/commandline.py", line 876, in ProcessCommandLine
    args = parse_cmdline_options(cmdline_list)
  File "/usr/lib/python2.6/dist-packages/duplicity/commandline.py", line 450, in parse_cmdline_options
    (options, args) = parser.parse_args()
  File "/usr/lib/python2.6/optparse.py", line 1394, in parse_args
    stop = self._process_args(largs, rargs, values)
  File "/usr/lib/python2.6/optparse.py", line 1434, in _process_args
    self._process_long_opt(rargs, values)
  File "/usr/lib/python2.6/optparse.py", line 1509, in _process_long_opt
    option.process(opt, value, values, self)
  File "/usr/lib/python2.6/optparse.py", line 782, in process
    value = self.convert_value(opt, value)
  File "/usr/lib/python2.6/optparse.py", line 774, in convert_value
    return self.check_value(opt, value)
  File "/usr/lib/python2.6/optparse.py", line 769, in check_value
    return checker(self, opt, value)
  File "/usr/lib/python2.6/dist-packages/duplicity/commandline.py", line 110, in check_time
    return dup_time.genstrtotime(value)
  File "/usr/lib/python2.6/dist-packages/duplicity/dup_time.py", line 271, in genstrtotime
    return override_curtime - intstringtoseconds(timestr)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: .:: marionline.it ::.&#187; Archivi Blog &#187; Strumenti di backup in KDE</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-14812</link>
		<dc:creator>.:: marionline.it ::.&#187; Archivi Blog &#187; Strumenti di backup in KDE</dc:creator>
		<pubDate>Sat, 13 Feb 2010 22:12:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-14812</guid>
		<description>[...] allo stesso tempo li criptasse. Per semplificarne l&#8217;uso ho aggiunto delle modifiche ad uno script bash per la gestione di duplicity sviluppato inizialmente da Damon Timm, sto aspettando che porti il suo script su github.com e che pubblichi la nuova versione dello [...]</description>
		<content:encoded><![CDATA[<p>[...] allo stesso tempo li criptasse. Per semplificarne l&#8217;uso ho aggiunto delle modifiche ad uno script bash per la gestione di duplicity sviluppato inizialmente da Damon Timm, sto aspettando che porti il suo script su github.com e che pubblichi la nuova versione dello [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mario Santagiuliana</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-14654</link>
		<dc:creator>Mario Santagiuliana</dc:creator>
		<pubDate>Mon, 08 Feb 2010 18:02:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-14654</guid>
		<description>Thank you for your script.

I found some bugs on this script and I resolve it.
I want to improve the script and I do some little change.

Would you like to contact me by private email?</description>
		<content:encoded><![CDATA[<p>Thank you for your script.</p>
<p>I found some bugs on this script and I resolve it.<br />
I want to improve the script and I do some little change.</p>
<p>Would you like to contact me by private email?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damon</title>
		<link>http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/comment-page-1/#comment-14129</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Mon, 25 Jan 2010 16:39:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.damontimm.com/?p=131#comment-14129</guid>
		<description>Hi - sorry for the delay (email notification was being treated as Spam) ... It looks like you don&#039;t have the GPG key installed on the second machine ... I you run the script with the &lt;code&gt;--backup-this-script&lt;/code&gt; option you can then add your key to the second machine&#039;s key ring.  I need to add clearer instructions for that but haven&#039;t gotten to it yet.

I can&#039;t think of the gpg command off hand but it is something like &lt;code&gt;--add-private-key&lt;/code&gt; ...</description>
		<content:encoded><![CDATA[<p>Hi &#8211; sorry for the delay (email notification was being treated as Spam) &#8230; It looks like you don&#8217;t have the GPG key installed on the second machine &#8230; I you run the script with the <code>--backup-this-script</code> option you can then add your key to the second machine&#8217;s key ring.  I need to add clearer instructions for that but haven&#8217;t gotten to it yet.</p>
<p>I can&#8217;t think of the gpg command off hand but it is something like <code>--add-private-key</code> &#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
