For a while I kept off-site backups at Rockefeller, but I was never great about maintaining them.

CrashPlan attempts to make this simple and secure. Recently Sam asked me about CrashPlan, and we decided to host each other's backups. We each bought 1tb external drives, installed CrashPlan, and started kicking the tires. I noticed a few things.

The $60 CrashPlan+ license is per computer. Since CrashPlan automatically ties together all computers configured to share a personal account and the documentation talks about backing up between your computers, I thought the license was per account. $120 for a MBP and a Linux server is reasonable, but I was annoyed when I tried to install my license on the second computer and got a $60 error message.

The CrashPlanEngine grants control to anyone who can connect to it. This is bad, especially since my Linux server has a bunch of users on it.

Is it a bad idea to run the CrashPlanEngine as root? There are basic risks associated with it. These are the same as any service running as root. Because the engine is written in java, it is immune to buffer overflows, a common exploit for poorly written C code. You should be aware that any desktop client connecting has "permission" to select any file and back it up. Therefore, you should "require" authentication each time the UI is run. This is in the "settings/security" part of CrashPlan UI.

The installer failed to make /usr/local/crashplan/bin/CrashPlanEngine executable (fix: chmod +x /usr/local/crashplan/bin/CrashPlanEngine).

The installer only configured the CrashPlanEngine init script to run at runlevel 3. I might run at runlevel 5, and crashplan should still run, so I used chkconfig crashplan on.


Overall, I like CrashPlan so far. The UI is clean and includes everything I have needed. The design seems thoroughly reasonable. The encryption (stronger with CrashPlan+) gives me peace of mind. Seeding the initial backup over FireWire was fine -- we'll have to see real-world performance up our 768kbps DSL uplink.

Because we each have a significant amount of data, and moderate Internet connections at home, we are seeding locally -- performing the initial backups via FireWire & USB before exchanging drives. Afterwards, we'll update our own backups over the Internet -- CrashPlan supports this, and uses encryption to keep our data private, even from the partner who physically possesses the drive.

Our seeding is a bit complicated. Macs (my laptop & Sam's desktop) use HFS+. Linux (my server) uses ext3. FreeBSD (Sam's server) uses UFS2. This makes deciding what filesystems to put on the 1tb drives non-trivial, as they need to match the other person's CrashPlan server -- I will host Sam's drive on my Linux server, so want ext3; I don't know what format Sam wants, but hope it's not UFS2, as I no longer have a working FreeBSD server and Code42 doesn't support FreeBSD. CrashPlan has a doc on pre-seeding remote backups, but it's not terribly clear and assumes only 2 computers and a single filesystem format.