I am trying to copy data from a partially corrupt backup (time machine) disk on a os x system to another. Firstly the rsync version (OS X 10.11.5): sync --version rsync version 2.6.9 protocol version 29 Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others. <http://rsync.samba.org/> Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles, inplace, IPv6, 64-bit system inums, 64-bit internal inums I'm using the following command: ~] durack1% sudo rsync -vrlptgoDH --exclude=".spotlight_repair" --ignore-errors /Volumes/durack1ml_bak\ 1/Backups.backupdb /Volumes/durack1ml_bak/160405_1234/ And am getting the following error: Backups.backupdb/durack1ml/2016-02-10-091749/durack1ml_hdd/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app/Contents/Resources/pdfl/CMaps/ETen-B5-UCS2 rsync: writefd_unbuffered failed to write 14550 bytes [sender]: Broken pipe (32) rsync: write failed on "/Volumes/durack1ml_bak/160405_1234/Backups.backupdb/durack1ml/2016-02-10-091749/durack1ml_hdd/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app/Contents/Resources/pdfl/CMaps/ETen-B5-UCS2": Result too large (34) rsync error: error in file IO (code 11) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/receiver.c(268) [receiver=2.6.9] rsync: connection unexpectedly closed (14352612 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9] Is there a way to get rsync to continue when such an error is encountered? Cheers, P -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.samba.org/pipermail/rsync/attachments/20160627/c7ccef4f/attachment.html>
At 05:55 28.06.2016, Paul J. Durack wrote:>I am trying to copy data from a partially corrupt backup (time machine) disk on a os x system to another. >And am getting the following error: > >Backups.backupdb/durack1ml/2016-02-10-091749/durack1ml_hdd/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app/Contents/Resources/pdfl/CMaps/ETen-B5-UCS2 >rsync: writefd_unbuffered failed to write 14550 bytes [sender]: Broken pipe (32) >rsync: write failed on "/Volumes/durack1ml_bak/160405_1234/Backups.backupdb/durack1ml/2016-02-10-091749/durack1ml_hdd/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app/Contents/Resources/pdfl/CMaps/ETen-B5-UCS2": Result too large (34) >rsync error: error in file IO (code 11) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/receiver.c(268) [receiver=2.6.9] >rsync: connection unexpectedly closed (14352612 bytes received so far) [sender] >rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9] > >Is there a way to get rsync to continue when such an error is encountered?Are you sure that the problem is with the corrupted source data? Because the error happens on writing the data on the destination. rsync: write failed on ... : Result too large (34) However I don't know what that error means. bye Fabi
Fabian Cenedese <Cenedese at indel.ch> wrote:>> rsync: write failed on "/Volumes/durack1ml_bak/160405_1234/Backups.backupdb/durack1ml/2016-02-10-091749/durack1ml_hdd/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app/Contents/Resources/pdfl/CMaps/ETen-B5-UCS2": Result too large (34)> Are you sure that the problem is with the corrupted source data? Because the > error happens on writing the data on the destination. > > rsync: write failed on ... : Result too large (34) > > However I don't know what that error means.Ditto. But sort of answering the original question, if it is a corrupted source, then my favourite tool is gnu ddrescue which is specifically designed for recovering as much as possible from failing/damaged media. It's saved the day for me (or friends/clients) many times :-) https://www.gnu.org/software/ddrescue/ Note: always use it with a log file - then it keeps track of what's been copied, what's a "hard" fail, and what's still left to try. You can stop and restart (it'll pick up where it left off), and force it to retry stuff (sometimes, letting a drive cool off will allow a few more bad blocks to be read). Not to be confused with the confusingly similarly named dd_rescue which doesn't have half the features or abilities.