preserving Mac OS X metadata in rsync backups and restores
Victor Shoup
shoup at cs.nyu.edu
Sat Jan 19 12:12:28 GMT 2008
The backup-bouncer tool looks very helpful.
I tried testing my own backup solution (see http://shoup.net/xattr )
with backup-bouncer.
It did fine -- it preserves everything on cross-platform backups,
except for those things
it was not designed to: ACLs (I don't know much about these) and BSD
flags other than uchg, uappnd
(I modified the backup-bouncer test suite to restrict to just these
BSD flags, to verify).
-- Victor Shoup
On Jan 18, 2008, at 11:12 PM, Moritz Heckscher wrote:
> Am 2008-01-19 um 01:37 schrieb Moritz Heckscher:
>> 3) To help with the checking/comparing, someone else built a
>> little tool. It not only creates a collection of test files but
>> can also compare the original and transferred versions afterwards:
>>
>> <http://www.n8gray.org/blog/2007/04/27/introducing-backup-bouncer/>
>
> I have downloaded the tool and compiled it on my Mac with 10.4 to
> do some testing. In this case, that's transfers using rsync
> 3.0.0pre8 from one HFS+ disk image to another HFS+ image (on a
> computer with an HFS+ disk as well). Later I'd be using cross-
> platform cross-filesystem transfers, so the results below should
> present something like the "upper limit" of what is currently
> possible.
>
> Using the following options for rsync:
>
> --archive --hard-links --acls --xattrs --executability --numeric-ids
>
> I get the following output from backup-bouncer:
>
>
> ------------------ rsync3.0.0pre8 ------------------
> This copier exited with error code 23
> This copier produced log output in:
> /Volumes/Dst/21-rsync3.0.0pre8/log
> Verifying: basic-permissions ... ok
> Verifying: timestamps ...
> Sub-test: modification time ... ok
> ok
> Verifying: symlinks ... ok
> Verifying: symlink-ownership ... ok
> Verifying: hardlinks ... ok
> Verifying: resource-forks ... ok
> Verifying: finder-flags ... ok
> Verifying: finder-locks ... FAIL
> Verifying: creation-date ... FAIL
> Verifying: bsd-flags ... FAIL
> Verifying: extended-attrs ...
> Sub-test: on files ... ok
> Sub-test: on directories ... ok
> Sub-test: on symlinks ... ok
> ok
> Verifying: access-control-lists ...
> Sub-test: on files ... ok
> Sub-test: on dirs ... ok
> ok
> Verifying: fifo ... FAIL
> Verifying: devices ... FAIL
> Verifying: combo-tests ...
> Sub-test: xattrs + rsrc forks ... ok
> Sub-test: lots of metadata ... ok
> ok
>
>
> So that looks not so bad actually. The main problem for me are the
> mangled creation dates. However, not even Apple's own cp with
> options -pR (-p to "preserve in the copy as many of the
> modification time, access time, file flags, file mode, user ID, and
> group ID as allowed by permissions") passes this test:
>
>
> ------------------ cp-apple ------------------
> Verifying: basic-permissions ... ok
> Verifying: timestamps ...
> Sub-test: modification time ... ok
> ok
> Verifying: symlinks ... ok
> Verifying: symlink-ownership ... FAIL
> Verifying: hardlinks ... FAIL
> Verifying: resource-forks ... ok
> Verifying: finder-flags ... ok
> Verifying: finder-locks ... ok
> Verifying: creation-date ... FAIL
> Verifying: bsd-flags ... ok
> Verifying: extended-attrs ...
> Sub-test: on files ... ok
> Sub-test: on directories ... ok
> Sub-test: on symlinks ... FAIL
> FAIL
> Verifying: access-control-lists ...
> Sub-test: on files ... ok
> Sub-test: on dirs ... ok
> ok
> Verifying: fifo ... ok
> Verifying: devices ... ok
> Verifying: combo-tests ...
> Sub-test: xattrs + rsrc forks ... ok
> Sub-test: lots of metadata ... ok
> ok
>
>
> For comparison, this is Apple's 'fixed' rsync version 2.6.3
> protocol version 28:
>
>
> ------------------ rsync-apple ------------------
> This copier exited with error code 24
> This copier produced log output in:
> /Volumes/Dst/10-rsync-apple/log
> Verifying: basic-permissions ... ok
> Verifying: timestamps ...
> Sub-test: modification time ... ok
> ok
> Verifying: symlinks ... ok
> Verifying: symlink-ownership ... ok
> Verifying: hardlinks ... ok
> Verifying: resource-forks ... FAIL
> Verifying: finder-flags ... FAIL
> Verifying: finder-locks ... FAIL
> Verifying: creation-date ... FAIL
> Verifying: bsd-flags ... FAIL
> Verifying: extended-attrs ...
> Sub-test: on files ... FAIL
> Sub-test: on directories ... FAIL
> Sub-test: on symlinks ... FAIL
> FAIL
> Verifying: access-control-lists ...
> Sub-test: on files ... FAIL
> Sub-test: on dirs ... FAIL
> FAIL
> Verifying: fifo ... ok
> Verifying: devices ... ok
> Verifying: combo-tests ...
> Sub-test: xattrs + rsrc forks ... FAIL
> Sub-test: lots of metadata ... FAIL
> FAIL
>
>
> Adding --fake-super to the options of rsync doesn't help:
>
>
> ------------------ rsync3.0.0pre8 ------------------
> This copier exited with error code 23
> This copier produced log output in:
> /Volumes/Dst/21-rsync3.0.0pre8/log
> Verifying: basic-permissions ... FAIL
> Verifying: timestamps ...
> Sub-test: modification time ... ok
> ok
> Verifying: symlinks ... ok
> Verifying: symlink-ownership ... FAIL
> Verifying: hardlinks ... ok
> Verifying: resource-forks ... ok
> Verifying: finder-flags ... ok
> Verifying: finder-locks ... FAIL
> Verifying: creation-date ... FAIL
> Verifying: bsd-flags ... FAIL
> Verifying: extended-attrs ...
> Sub-test: on files ... FAIL
> Sub-test: on directories ... FAIL
> Sub-test: on symlinks ... FAIL
> FAIL
> Verifying: access-control-lists ...
> Sub-test: on files ... FAIL
> Sub-test: on dirs ... FAIL
> FAIL
> Verifying: fifo ... FAIL
> Verifying: devices ... FAIL
> Verifying: combo-tests ...
> Sub-test: xattrs + rsrc forks ... FAIL
> cmp: ./many-metadata: Permission denied
> Sub-test: lots of metadata ... FAIL
> FAIL
>
>
> -Moritz
>
> --
> To unsubscribe or change options: https://lists.samba.org/mailman/
> listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-
> questions.html
More information about the rsync
mailing list