Archive for the ‘backup’ Category

Arq 1.5.12 is out!

Monday, August 23rd, 2010

This is a minor update which adds 1 new significant feature — the ability to select a single file to back up.

To get it, pick “Check for Updates” from the Arq menu, or download it from the product page.

Here are the details:

Release Notes for Arq Backup Version 1.5.12

Feature Additions

  • Select an individual file to add to backups.

Bug Fixes

  • If Arq is in the middle of relaunching after installing an update, don’t show an error about Arq Agent not running.
  • Arq Agent checks for app updates and displays a message when an update is available.
  • Don’t show filename as “download name” in S3 objects.
  • Added help to the initial setup screen that explains what S3 keys are.

How to restore to a new computer using Arq

Tuesday, August 10th, 2010

So you’ve had Arq installed for a while and it’s been backing up your key folders like Documents, Music, and Photos.

But your computer’s hard drive died. So you took it to the Apple store, and they replaced the hard drive. Now how do you get your files back? Here’s how:

Restoring with Arq

First, download Arq from http://www.haystacksoftware.com/arq/ and unzip it.

Next, launch Arq. It’ll ask you for S3 account credentials. Use the same S3 account you used before. If you don’t have your S3 credentials handy you can look them up at the Amazon web site.

Next, Arq will ask you for your encryption key. Use the same key; otherwise Arq won’t be able to decrypt your backups.

Once you’ve entered that information, Arq’s main window appears, and you’ll see a spinning progress indicator next to the title “Other Computers”:

otherComputers1.png

Arq will download all the “index” files it needs to figure out the old computer’s backups. Once that’s done you can click on the triangle next to “Other Computers” to see the backups. Select a backup version on the left; then drag and drop the backed-up folder on the right to a Finder window to start the restore process:

Screen shot 2010-08-10 at 9.49.19 AM.png

Arq displays a progress dialog during the restore process:

Screen shot 2010-08-10 at 9.46.05 AM.png

And that’s it! If you wish you can drag and drop more backed-up items to restore multiple backed-up items in parallel.

How to back up your Mac using Arq

Wednesday, July 21st, 2010

When I started developing Arq it was partly because I couldn’t find an existing online backup offering that gave me enough control. I wanted to control exactly which files would be backed up, and I didn’t want to be constrained by rules that many of the “unlimited backup” offerings had like excluding network drives, excluding applications, etc.

So Arq lets you back up anything you want. But then the question is, what should you back up? The following is my suggestion for a basic backup of your files on your Mac.

Basic Backup Using Arq

When you first install and launch Arq, it asks your for your Amazon S3 “keys” and a few other things. Then it asks if you’d like to choose your own files for backup, or back up your home folder minus a few unnecessary items:

Screen shot 2010-07-21 at 8.02.18 AM.png

If you picked “I’ll manually add folders to back up” and you’ve changed your mind, here’s how to set up Arq to back up your home folder minus the unnecessary items:

1. Add your home folder

Click the + button at the bottom left of the Arq main window.

Screen shot 2010-07-21 at 8.10.25 AM.png

Pick your home folder (/Users/<yourname>) and click OK.

Screen shot 2010-07-21 at 9.27.33 AM.png

2. Add some excludes

Click the “Edit Excludes…” button.

Screen shot 2010-07-21 at 8.08.05 AM.png

Add 3 excludes.

Screen shot 2010-07-21 at 8.15.33 AM.png

Make sure the first 2 are set to “relative path” instead of “name”.

Click OK.

Backing Up Applications Using Arq

If you want to back up your applications, add the Applications folder.

Screen shot 2010-07-21 at 8.28.12 AM.png

Many applications put some of their support files in /Library/Application Support, so add that too.

Screen shot 2010-07-21 at 8.29.02 AM.png

Advanced Backup Using Arq

If you prefer, you pick and choose specific folders to back up instead of backing up your entire home directory.

WARNING: If you choose to do this and you later create a new folder in your home directory and start putting important files in there, you’ll have to remember to add this new folder to Arq or else it won’t be backed up!

I back up the following folders as separate items in Arq:

  • Application Support (/Library/Application Support)
  • Applications (/Applications)
  • Documents
  • Library, excluding files/folders named ‘Caches’ and ‘Logs’
  • Music
  • osaka iPhoto Library (my big iPhoto Library, named after my computer), excluding files/folders named ‘iPod Photo Cache’
  • src (my work files), excluding files/folders named ‘build’ and ‘bin’

Time Machine and Arq

Time Machine and Arq are complementary. Backing up using Time Machine to another disk is cheap and fast. If you’re backing up to a Time Capsule via Wifi it’s very convenient because it just happens; there’s nothing to plug in. If you’re backing up to a USB drive, you’ll have to remember to plug in the USB drive periodically. Restoring is fast because you’re reading from a USB disk physically connected to your Mac, or from a Time Capsule over Wifi.

But Time Machine doesn’t cover all cases. If someone breaks in and steals your computer, they may steal your Time Capsule or USB drive as well, and then your files are gone forever. If fire, flood, or lightning strikes, you may lose both your computer and your backups; files gone forever. And if you travel often, you’ll have to bring along your USB drive or Time Capsule, or backups won’t happen until you get home and stay home long enough for a backup to complete.

Arq covers those cases that Time Machine doesn’t. The backups are off site at Amazon’s servers, safe from your theif and your natural disasters. They’re even safe from disaster at an Amazon site because Amazon replicates your data at several sites. And Arq works whenever there’s an Internet connection, so backups still happen when you’re on the road.

CrashPlan restore analysis

Tuesday, June 1st, 2010

I’m the author of Arq, a backup product for the Mac, so I’m certainly biased, but in this post I’m only going to describe the factual results of a backup/restore with CrashPlan. You can verify these results yourself.

Warning: What follows is technical nitty-gritty. If you just want to know why Mac metadata are important in the real world, read The Importance of Metadata on the Mac.

UPDATE December 13, 2010: CrashPlan have released a new version of their app which passes all but 1 of the Backup Bouncer tests. The version is called “3.0″. Within the app the version is listed as “3.0 (1291687724486)”. This blog post analyzed the “3.8.2010″ version which was the latest as of February 2010.

Detailed Technical Analysis

Here’s what CrashPlan says it backs up and restores on the Mac:

  • Data fork
  • Resource fork
  • Owner information for regular files and directories
  • Symlink owner information
  • POSIX permissions
  • Finder Flags/Info (including type/creator)
  • Locked flag (this is part of Finder Flags)
  • Modification date
  • Creation date
  • Finder comments (.DS_Store file)
  • ACLs

CrashPlan states that the following are unsupported:

  • Other named forks
  • BSD Flags, which can be set via chflags
  • HFS+ extended attributes (i.e. xattr)
  • Aliases

That list a bit redundant: “other named forks” is the same as “HFS+ extended attributes”, and an “alias” is a special type of file containing some data as well as 2 extended attributes (com.apple.FinderInfo and com.apple.ResourceFork) and some Finder Flags (‘Alias’ and ‘Custom Icon’).

Also, CrashPlan doesn’t mention that they do not support hardlinks, FIFOs, or device files.

Test Results

I tested CrashPlan 3.8.2010 on a MacBook Pro running OS X 10.6.3. I followed Backup Bouncer‘s test procedure:

  1. Download Backup Bouncer 0.2.0
  2. ‘sudo bbouncer create-vol Src’ to create the source volume for testing
  3. ‘sudo bbouncer create /Volumes/Src’ to create the files to be backed up
  4. ‘sudo bbouncer create-vol Dst’ to create a volume for the restore
  5. Back up all the folders under /Volumes/Src using CrashPlan (to CrashPlan Central)
  6. Restore all the folders from CrashPlan to /Volumes/Dst
  7. ‘sudo bbouncer verify -d /Volumes/Src /Volumes/Dst’

Here’s the output of that ‘bbouncer verify’ command:

backup-bouncer-0.2.0 $ sudo ./bbouncer verify /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions ... ok (Critical)
Verifying:           timestamps ... ok (Critical)
Verifying:             symlinks ... ok (Critical)
Verifying:    symlink-ownership ... FAIL
Verifying:            hardlinks ... FAIL (Important)
Verifying:       resource-forks ...
   Sub-test:             on files ... ok (Critical)
   Sub-test:  on hardlinked files ... FAIL (Important)
Verifying:         finder-flags ... FAIL (Critical)
Verifying:         finder-locks ... ok
Verifying:        creation-date ... ok
Verifying:            bsd-flags ... FAIL
Verifying:       extended-attrs ...
   Sub-test:             on files ... FAIL (Important)
   Sub-test:       on directories ... FAIL (Important)
   Sub-test:          on symlinks ... FAIL
Verifying: access-control-lists ...
   Sub-test:             on files ... ok (Important)
   Sub-test:              on dirs ... ok (Important)
Verifying:                 fifo ... FAIL
Verifying:              devices ... FAIL
Verifying:          combo-tests ...
   Sub-test:  xattrs + rsrc forks ... FAIL
   Sub-test:     lots of metadata ... FAIL

Detailed Failure Analysis

symlink-ownership test failure

The source directory looks like this:

$ ls -l Src/15-symlink-ownership/
total 32
-rw-r--r--  1 root  staff  14 Jun  1 07:07 some-file
lrwxr-xr-x  1 _www  _www   11 Jun  1 07:07 symlink1@ -> ./some-file
lrwxr-xr-x  1 root  wheel  11 Jun  1 07:07 symlink2@ -> ./some-file
lrwxr-xr-x  1 root  staff  10 Jun  1 07:07 symlink3@ -> ./symlink1

The files restored by CrashPlan look like this:

$ ls -l Dst/15-symlink-ownership/
total 32
-rw-r--r--  1 root  staff  14 Jun  1 07:07 some-file
lrwxr-xr-x  1 root  staff  11 Jun  1 07:11 symlink1@ -> ./some-file
lrwxr-xr-x  1 root  staff  11 Jun  1 07:11 symlink2@ -> ./some-file
lrwxr-xr-x  1 root  staff  10 Jun  1 07:11 symlink3@ -> ./symlink1

CrashPlan doesn’t restore symlink owner information, even though they claim to on their web site.

hardlinks test failure

The source directory looks like this:

$ stat -f 'inode:%i file:%N' Src/20-hardlinks/*
inode:48 file:Src/20-hardlinks/link1
inode:48 file:Src/20-hardlinks/link2
inode:48 file:Src/20-hardlinks/link3
inode:48 file:Src/20-hardlinks/some-file

Note the ‘inode’ number is the same for each file. That’s what a “hardlink” is. Wikipedia has more information on hardlinks.

The files restored by CrashPlan look like this:

$ stat -f 'inode:%i file:%N' Dst/20-hardlinks/*
inode:57 file:Dst/20-hardlinks/link1
inode:59 file:Dst/20-hardlinks/link2
inode:58 file:Dst/20-hardlinks/link3
inode:60 file:Dst/20-hardlinks/some-file

The ‘inode’ numbers are all different in the restored files.

finder-flags test failure

CrashPlan correctly restores almost all the Finder Flags, but Backup Bouncer marks this test as “failed” because CrashPlan fails to restore the Extended Finder Flag “busy”. The source files look like this:

$ GetFileInfo -P -a Src/40-finder-flags/mucho-flags-file
AVBSTClINMEDZ
$ GetFileInfo -P -a Src/40-finder-flags/mucho-flags-dir
aVbstClInmEDZ

The files restored by CrashPlan look like this:

$ GetFileInfo -P -a Dst/40-finder-flags/mucho-flags-file
AVBSTClINMEDz
$ GetFileInfo -P -a Dst/40-finder-flags/mucho-flags-dir
aVbstClInmEDz

The ‘z’ flag is “busy” (kExtendedFlagObjectIsBusy) in the Extended Finder Flags.

bsd-flags test failure

CrashPlan restores 1 of the 4 BSD flags, UF_NODUMP (1), UF_IMMUTABLE (2), UF_APPEND (4), and UF_OPAQUE (8). The source files look like this:

$ stat -f 'flags:%f name:%N' Src/60-bsd-flags/*
flags:15 name:Src/60-bsd-flags/dir-with-flags
flags:15 name:Src/60-bsd-flags/file-with-flags

The files restored by CrashPlan look like this:

$ stat -f 'flags:%f name:%N' Dst/60-bsd-flags/*
flags:2 name:Dst/60-bsd-flags/dir-with-flags
flags:2 name:Dst/60-bsd-flags/file-with-flags

In the output above, the “flags:15″ is all 4 flags (1+2+4+8=15) and “flags:2″ is UF_IMMUTABLE. CrashPlan actually restores the UF_IMMUTABLE flag correctly because it’s the same as the “Locked” Finder Flag in OS X.

extended-attrs test failure

Backup Bouncer creates some extended attributes with silly names on a file, a symlink, and a directory. The names of the extended attributes of each file are listed here (‘xattr-test’ has 2 extended attributes):

$ xattr-util l Src/70-extended-attrs/dir-with-xattrs
mamma.mia
$ xattr-util l Src/70-extended-attrs/symlink-with-xattrs
good.grief
$ xattr-util l Src/70-extended-attrs/xattr-test
message
this.that

The files restored by CrashPlan look like this:

$ xattr-util l Dst/70-extended-attrs/dir-with-xattrs
$ xattr-util l Dst/70-extended-attrs/symlink-with-xattrs
$ xattr-util l Dst/70-extended-attrs/xattr-test

Those 3 ‘xattr-util’ commands show no output because no extended attributes exist on the restored files.

fifo test failure

The source file is a “fifo” (a first-in-first-out file, or “named pipe”):

$ file Src/90-fifo/some-fifo
Src/90-fifo/some-fifo: fifo (named pipe)

CrashPlan doesn’t restore anything at all in this case:

$ file Dst/90-fifo/some-fifo
Dst/90-fifo/some-fifo: cannot open `Dst/90-fifo/some-fifo' (No such file or directory)

Backing up and restoring fifos is quite esoteric and probably of no interest to most people.

devices test failure

The source files are “device” files:

$ file Src/95-devices/devvn0
Src/95-devices/devvn0: block special
$ file Src/95-devices/devzero
Src/95-devices/devzero: character special

CrashPlan doesn’t restore anything at all in this case:

$ file Dst/95-devices/devvn0
Dst/95-devices/devvn0: cannot open `Dst/95-devices/devvn0' (No such file or directory)
$ file Dst/95-devices/devzero
Dst/95-devices/devzero: cannot open `Dst/95-devices/devzero' (No such file or directory)

Like fifos, device files are quite esoteric and probably of no interest to most people.

Conclusions

As I said at the beginning of this post, I wrote Arq, which competes with CrashPlan, so I’m biased.

If you’ve analyzed your programs and your files and determined you don’t need the metadata that CrashPlan skips, then you should be OK, at least in terms of metadata.

If you want to be sure all your data (and metadata) are backed up and restored correctly, then Arq and Jungle Disk are the only 2 options I know of. Arq has a Mac-native UI, a one-time software license fee (instead of an endless software subscription fee), and has gotten excellent reviews (see MacUpdate and MacStories).

Quick survey to make Arq even better

Saturday, May 15th, 2010

If you’re an Arq user, I’d really like to get your feedback on Arq and find out what else you’d like it to do for you.

Could you please take this 5-question survey?

http://www.surveymonkey.com/s/2FM23K7

Fill out as much or as little as you’d like. I’ll share the response summary (minus those who don’t want their responses made public).

Thanks!
– Stefan

False alarm, and Arq 1.3.15

Thursday, May 13th, 2010

Sorry about that last blog post folks.

False Alarm

Turns out Arq 1.3.14 works fine. A customer had reported that his backups were gone right after he updated, and I thought I reproduced the problem, but it turns out I didn’t reproduce the problem, and furthermore it wasn’t actually a problem!

The customer had pushed the “Change Region” button in the Advanced section of the Preferences, and had chosen a different S3 region. When you choose a different region, Arq actually has to create a different S3 “bucket” (you can’t move an S3 bucket from one region to another). Arq doesn’t copy the configuration and data to the new bucket. It even says so on the “Change Region” dialog:

Screen shot 2010-05-13 at 4.10.07 PM.png

After a lot of emails back and forth I finally figured out that’s what happened. He neglected to mention that he had changed his S3 region.

My initial reaction was that this was a data-loss bug, and others should be warned so that others can avoid data loss. I’m not sure if I reacted correctly in this situation, and I apologize for the false alarm. I guess I need to relax and get all the facts before announcing to everybody that there’s a problem!

Arq 1.3.15

Another customer did uncover a legitimate bug however: in “30-day trial” mode, Arq acted as if the trial was expired, whether it was past 30 days or not.

Arq 1.3.15 fixes that bug.

Pick “Check for Updates” from the Arq menu to automatically update to 1.3.15, or download it from the web.

Arq 1.3.14 problem

Thursday, May 13th, 2010

[UPDATE: Ignore this post. It was a false alarm. See the following post for details.]

The version of Arq that I just shipped has a bug which may cause it to drop old backup versions.

To everyone who already downloaded it, I sincerely apologize, and I’m working nonstop to fix it. I recommend you re-install version 1.3.11 by downloading it from here: http://www.haystacksoftware.com/arq/Arq_1.3.11.zip

You’ll need to stop Arq and Arq Agent, unzip the zip file and overwrite your Arq.app.

I reverted the main download link on the web site to point to 1.3.11 for the time being.

Again, I apologize, and I’ll write more as soon as it’s fixed.

- Stefan

Arq’s Backup Bouncer results

Saturday, February 13th, 2010

The critical feature of any backup product is its ability to restore your files correctly. If it can’t do that, then it really doesn’t matter how fast it is, how easy to use it is.

Files on the Mac can have a bewildering array of important metadata attached to them, and it’s critical to restore all the metadata, not just the file’s main data (contents). Fortunately there’s an awesome open-source tool for testing whether your backup solution is capable of restoring correctly: Backup Bouncer.

Arq passes every Backup Bouncer test. It’s safe to use for backing up your files. What are you using for backup? Does it pass all the Backup Bouncer tests?

Here are the Backup Bouncer results:

Verifying: basic-permissions ... ok (Critical)
Verifying: timestamps ... ok (Critical)
Verifying: symlinks ... ok (Critical)
Verifying: symlink-ownership ... ok
Verifying: hardlinks ... ok (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... ok (Important)
Verifying: finder-flags ... ok (Critical)
Verifying: finder-locks ... ok
Verifying: creation-date ... ok
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... ok
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... ok
Verifying: devices ... ok
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... ok