|
From: | Echo Nolan |
Subject: | Re: [Duplicity-talk] Problems with "librsync error 103 while in patch cycle" |
Date: | Sun, 3 Nov 2013 18:21:34 -0800 |
you should definitely rethink your backup strategy for the next time, but i guess you've already came to that conclusion ;)
wrt. the problem. as i wrote to Mike. try catching the error where it is thrown. the restore should continue then with the next file instead of breaking completely.
..ede/duply.net
On 03.11.2013 20:02, Echo Nolan wrote:
> Edgar et al,
>
> Unfortunately, it looks like the initial full backup is corrupt. The restore reaches "Processed volume 13 of 75" before dying, and the initial backup is 25 volumes. I was able to get two important files out with --file-to-restore, I guess they didn't get created until after the first backup? Is there something else I can do to get a partial restore?
>
>
> > It seemed like the same problem, and oh look, someone has already committed a patch allowing me to continue restoring a backup containing broken files (https://code.launchpad.net/~mterry/duplicity/catch-seq-copy-error/+merge/186106 <https://code.launchpad.net/%7Emterry/duplicity/catch-seq-copy-error/+merge/186106> <https://code.launchpad.net/%7Emterry/duplicity/catch-seq-copy-error/+merge/186106>). So I grabbed duplicity from bzr (bzr branch lp:duplicity) and built it. Trying with that version gives a different error however:> On Sun, Nov 3, 2013 at 3:30 AM, <address@hidden <mailto:address@hidden>> wrote:
>
> On 03.11.2013 07:08, Echo Nolan wrote:
> > Hi All.
> >
> > I'm trying to restore a backup. Here's what happens with the version of duplicity shipping with Ubuntu 13.10 (0.6.21):
> >
> > address@hidden:~$ rm -r restore && duplicity file://enolan-desktop-backup restore/
> > Local and Remote metadata are synchronized, no sync needed.
> > Last full backup date: Sun Jan 15 08:05:07 2012
> > GnuPG passphrase:
> > python: ERROR: (rs_tube_catchup) reached end of file while copying literal data through buffers
> > python: ERROR: (rs_job_complete) patch job failed: unexpected end of input
> > Traceback (most recent call last):
> > File "/usr/bin/duplicity", line 1411, in <module>
> > with_tempdir(main)
> > File "/usr/bin/duplicity", line 1404, in with_tempdir
> > fn()
> > File "/usr/bin/duplicity", line 1338, in main
> > restore(col_stats)
> > File "/usr/bin/duplicity", line 632, in restore
> > restore_get_patched_rop_iter(col_stats)):
> > File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 526, in Write_ROPaths
> > for ropath in rop_iter:
> > File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 499, in integrate_patch_iters
> > final_ropath = patch_seq2ropath( normalize_ps( patch_seq ) )
> > File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 479, in patch_seq2ropath
> > misc.copyfileobj( current_file, tempfp )
> > File "/usr/lib/python2.7/dist-packages/duplicity/misc.py", line 166, in copyfileobj
> > buf = infp.read(blocksize)
> > File "/usr/lib/python2.7/dist-packages/duplicity/librsync.py", line 80, in read
> > self._add_to_outbuf_once()
> > File "/usr/lib/python2.7/dist-packages/duplicity/librsync.py", line 94, in _add_to_outbuf_once
> > raise librsyncError(str(e))
> > librsyncError: librsync error 103 while in patch cycle
> >
> > I googled, and found this ticket in Ubuntu's bugtracker: https://bugs.launchpad.net/duplicity/+bug/662442
> >
> ..ede/duply.net <http://duply.net>> >
> > address@hidden:~/duplicity$ bin/duplicity file://../enolan-desktop-backup ../restore
> > Import of duplicity.backends.dpbxbackend Failed: No module named dropbox
> > Local and Remote metadata are synchronized, no sync needed.
> > Last full backup date: Sun Jan 15 08:05:07 2012
> > GnuPG passphrase:
> > python: ERROR: (rs_tube_catchup) reached end of file while copying literal data through buffers
> > python: ERROR: (rs_job_complete) patch job failed: unexpected end of input
> > Traceback (most recent call last):
> > File "bin/duplicity", line 1466, in <module>
> > with_tempdir(main)
> > File "bin/duplicity", line 1459, in with_tempdir
> > fn()
> > File "bin/duplicity", line 1393, in main
> > restore(col_stats)
> > File "bin/duplicity", line 687, in restore
> > restore_get_patched_rop_iter(col_stats)):
> > File "/home/enolan/duplicity/duplicity/patchdir.py", line 535, in Write_ROPaths
> > for ropath in rop_iter:
> > File "/home/enolan/duplicity/duplicity/patchdir.py", line 507, in integrate_patch_iters
> > filename = patch_seq[-1].get_ropath().get_relative_path()
> > AttributeError: 'NoneType' object has no attribute 'get_ropath'
> >
> > Can any of you help me out? This is my only copy of several important files..
> >
>
> Echo,
>
> currently rsync errors or others restore errors break restoring. the usual workaround is, assuming you have a full/incr backup chain, to restore a time before the broken volumes.
>
> 1. try listing your backup chains and save the output.
> 2. then run your restore as before but with '-v9' maximum verbosity. check which volume breaks the restore. it should be mentioned right above the error stack. interpret it's time value in the file name.
> 3. now try restoring giving a time before the time value you retrieved in step 2.
>
> Mike: you tackled this before. could you catch his error higher up? we probably need to log a warning that this file will not be restored too.
>
>
>
> _______________________________________________
> Duplicity-talk mailing list
> address@hidden <mailto:address@hidden>
> https://lists.nongnu.org/mailman/listinfo/duplicity-talk
>
>
>
>
> _______________________________________________
> Duplicity-talk mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/duplicity-talk
>
_______________________________________________
Duplicity-talk mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
[Prev in Thread] | Current Thread | [Next in Thread] |