banner

Tiger and iPodBackup

Posted: May 4th, 2005 | Author: amake | Filed under: Software | No Comments »

I just got Mac OS X 10.4 “Tiger” and I’ve been putting a good amount of time into updating iPodBackup for it. However, I’ve run into some snags.

iPodBackup uses a program called rsync to decide which files to copy and to actually copy them. Prior to Tiger, rsync didn’t understand resource forks, so I had to use the patched version of rsync that comes bundled with RsyncX. That version, however, is quite old, and has some serious bugs. Most irritating is the hard-to-reproduce “exploding log” problem where a file with weird permissions could cause rsync to crash and fill the log file with garbage.

The good news is that Tiger provides a version of rsync that understands resource forks. The bad news is that its behavior seems to be erratic at best. I modified iPodBackup to detect the system version and use the built-in rsync when running on Tiger. In tests I’ve found the following problems:

  1. It’s resource-hungry. It brings my 800MHz iBook G4 to its knees when I run it on a decent number of files. The problem seems to be its RAM consumption; CPU usage may not rise above 60%, but the system pages out like crazy.
  2. It’s slow. It re-copies the metadata (for a given filename, the metadata is shown as ._filename in the log) for every file, every time, even if the file hasn’t been modified. The slowness may partly be a side-effect of item 1.
  3. It’s unpredictable. Sometimes it dies right after “building file list … done” and spits out an error I don’t understand. Sometimes it doesn’t. I really don’t know what the cause is, but my suspicion is that it has something to do with Spotlight indexing.

Other issues to consider: Is Spotlight indexing causing some or all of the slowdown? If so, can one create a disk image whose volume is automatically excluded from from indexing? It seems that the answer is “no,” as one needs to authenticate as root in order to exclude something from the command line. Given the limitations of the app (a shell script run through Platypus), I don’t know how I’d gain root cleanly during runtime.

If you’re interested in testing iPodBackup 1.5, you can download beta 2. You might want to backup your backup if you have room to do so. Also note that although the problems I’ve encountered so far are mostly performance-related, I can’t guarantee that it won’t cause your computer to burst into flames. Please proceed at your own risk.

]]>



Leave a Reply