bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-tar] question RE incremental backups


From: Phil Schumm
Subject: [Bug-tar] question RE incremental backups
Date: Fri, 10 Oct 2008 03:07:39 -0500

Hi,

I have a couple of questions that I'd be grateful if someone could help answer. As a brief background, we manage several Apple Xserves running OS X Server 10.5, which provide services to a relatively small group of users based mainly on open source platforms (e.g., Apache, Subversion, Trac, TurboGears, etc.). We have used a backup strategy developed around BRU in the past, but are now considering moving to GNU tar (for several reasons). OS X 10.5 comes with version 1.15.1 pre-installed, patched by Apple to handle HFS extended attributes and resource forks.

We have been running several tests using --listed-incremental to create (and restore) full (level 0) and differential (level 1) backups. Everything has worked nicely, exactly according to the documentation. The one thing we noticed, however, is that files are picked up in the incremental dumps even when only their atime has changed -- despite the fact that neither their ctime nor mtime has changed (i.e., the file has merely been accessed but not modified in any way). This can make the differential archives pretty large, especially in our case since we have several large database files (e.g., ZODB files for Zope or SQLite database files) that are accessed regularly but changed much less frequently. My question is: Is this the expected behavior, and, if so, is there any way to generate an incremental dump capable of restoring the filesystem *except* for the atimes that would be smaller in size?

A second (and less important) question concerns the implementation of the --exclude-from option when combined with --compare. Unfortunately, we are unable to use --verify when creating an archive because -- even with the patched version of GNU tar distributed with OS X -- the --verify option doesn't appear to handle HFS resource forks (i.e., GNU tar tries unsuccessfully to compare the ._* files representing the resource forks in the archive with the filesystem). For this reason, we have tried using --compare to verify an archive after creating it. However, while this works fine with full (level 0) dumps, using it with differential (level 1) dumps requires manually excluding those files that haven't changed and are therefore not included in the archive; otherwise, GNU tar reports that the contents of the directories containing those files differ. Problem is, when we pass in a long list of all the filenames excluded from the archive (generating by parsing the output from gnutar --list) via the -- exclude-from option, the time required for the comparison blows up. This suggests that GNU tar is iterating through all of the files listed in the --exclude-from file over and over, rather than storing them in a hash table and looking for matches that way. Is this correct, and, if so, is there some other way to use --compare with a level 1 (or higher) dump?

Any information or pointers to references on these issues would be much appreciated (I have been unsuccessful Googling on them).

Thanks,


-- Phil





reply via email to

[Prev in Thread] Current Thread [Next in Thread]