[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[rdiff-backup-users] Re: Testsuite for Mac OS X backup systems
From: |
Andrew Ferguson |
Subject: |
[rdiff-backup-users] Re: Testsuite for Mac OS X backup systems |
Date: |
Sun, 11 Jan 2009 21:05:40 -0500 |
On Jan 11, 2009, at 9:20 AM, Oliver Mulatz wrote:
Hi Andrew,
most probably you already know of this Mac OS X
backup system testing suite, but just in case you don't:
http://slagwerks.com/blog/index.php/tag/backup/
http://www.n8gray.org/code/backup-bouncer/
Hi Oliver,
Yes, rdiff-backup does quite well on that suite. I have also worked
with the author to add new tests, based on capabilities which rdiff-
backup has and it didn't test (Unicode filenames, and permissions on
symbolic links).
thanks,
Andrew
For those who are curious about the details:
- Rdiff-backup was at version 1.2.1 when the test suite was released.
That version passed everything except the following: extended
attributes on symbolic links, the busy (Z) Finder attribute on
folders, BSD filesystem flags, and Mac OS X ACLs.
- Version 1.2.2 added support for extended attributes on symbolic
links, and fixed the support for the busy attribute.
- The ability to backup BSD filesystem flags will be added during the
new development branch. I have been testing it in my environment for a
year, but have not included it in the stable release because Python
lacked an easy way to test whether the OS supported filesystem flags
(my patch also adds support for Linux filesystem flags, and converting
between the two kinds).
- Supporting Mac OS X ACLs will require a new Python library, similar
to the POSIX and Windows ACL libraries. Mac ACLs, although they use
the POSIX API, are closer to Windows ACLs in nature, so they're their
own hybrid implementation, requiring their own (non-existent) Python
library.
- Native Mac software has access to a system call which copies
everything properly. Because one of rdiff-backup's main features is OS-
independent networked backup, we cannot use that system call, and have
to implement copy code for each piece of OS or FS metadata.