----------------------------------------
Backups
September 15th, 2017
----------------------------------------
 
I was informed a few weeks ago that CrashPlan will be killing my (I thought)
awesome turnkey backup solution I had put in place for nearly everything.

My requirements are that it be:

1. Cross-platform (at least Linux and OS X)
2. Secure (GPG would be ideal, but encryption in general is non-negotiable)
3. Versatile (must backup to local drives as well as cloud storage)
4. Unobtrusive (it should run in the background and constantly back up)
5. Economical (this will probably be a separate topic, dependent on the
   vagueries of cloud storage backends)

Now that the carpet under my feet is all but gone, I'm scrambling to find a
performant, economical and reasonably secure solution. The decision has not
been made yet, but Restic[1] looks like it could be my winner.

Restic is FOSS, written in Go, has a straightforward CLI, supports several
different backends, and uses cryptography. On the other hand, it does not
support compression, which may be the most serious drawback. My favorite
aspect of Restic is its extremely efficient deduplication.

Other tools I've considered:

- Duplicity[2]. It is fairly reliable, but I've been hurt before by
  incompatible software updates breaking my backup process. It uses GPG,
  which is awesome. The slow speed of verifying and committing incremental
  backups is the big downside. Backend support is unrivaled.

- Duplicacy[3]. Despite the similar name, it's a separate tool. I've tried it,
  out, and it's absolutely great. Fast, decent backend support, encrypted AND
  compressed. The licensing has me a bit spooked, and it's mostly disqualified
  for this reason.

- Unison[4]. I have need of more than bi-directional backups, so unfortunately
  this syncing tool won't be the best fit for the job.

I don't currently have any plans to self-host, due to lack of infrastructure,
so the most likely backend for me will be AWS S3.

What do you use for your backups, and what is your preferred backend? Is there
another BaaS you'd recommend?


[1]: https://restic.github.io
[2]: http://duplicity.nongnu.org/
[3]: https://github.com/gilbertchen/duplicacy
[4]: http://www.cis.upenn.edu/~bcpierce/unison/