Best Tools for the job: Duplicati
One of the things I’ve kept postponing since switching to Linux on my desktop has been my backup system. I wrote a script on my raspberry pi to create an encrypted tar achieves of my org files twice a day transfer them over to Hedwig (my desktop), which will then find their way into an online backup provider. Now that I switched to Linux, that system stopped working, and I’ve kept postponing the critical need for an online backup too long.
I’ve been a happy Backblaze1 customer for about half a year, and I used their full computer backup plan on Windows for a flat fee of $60 a year. With Linux though, this plan was no longer an option. It seemed Backblaze was telling me “hey man, now that you’re using Linux full time, it’s time to wear the big boy’s hat and stop using our training wheels. Get serious, or go back to Windows.”
Backblaze’s B2 Backup is one of the most affordable (if not the most affordable) deals I’ve found. I had to create a script that would most likely run with Duplicity, a trusted Linux tool that’s been around for a while. After a massive project at work finally ended, I had the time to sit down and try to make it work. I started running into issues though: it seemed like authentication with B2 was rejected due to some known issue, but I couldn’t find too much information about fixing it. What I did found though, as I was looking through various help documentations, is a lesser-known FOSS tool: Duplicati.
You can tell by the game of words here that Duplicity and Duplicati are related: “The Duplicati project was inspired by Duplicity and had similar functionality until 2008,” its team says in the manual, and the philosophy is the same: a free encryption-supported tool for backups. It’s not directly available in official depositories (maybe in rolling releases?) due to its beta status, but it’s easy enough to download for Debian-based distros (this is another example of why switching to Kubuntu was a good idea for me).
Duplicity’s GUI is easy enough to understand, almost to the point that their manual or excellent getting started guide are not needed. As it turns out, connection settings for Backblaze’s B2 backups come built-in, as well as many other options like Amazon’s S3 or box.com. As a matter of fact, the GUI was so simple and intuitive I quickly created different backups for that required different intervals:
With these created, I was looking a my backups differently. No longer one large archive of all my system files, photos, media and org files, but a separate, purposeful and specific jobs for different kind of needs.
For example, my photos do not need to be backed-up every day. That’s because I take new photos perhaps once a week (sometimes less unfortunately). My org files are the opposite case: I work with them daily both at work and at home, and the differences are large enough for two daily backups: midday while I’m at work, making progress on my various projects, and one late at night, after I’ve recorded my day in the journal and additional events on the agenda.
Duplicati also comes with command-line options which can be used to automate similar process on different machines (I can upload my photos from my desktop, and then duplicate the process for a similar backup on my raspberry pi, for example) or to save in case you need it in the future.
It’s too early to tell, but Duplicati' approach to backups with its ability to work with b2 out of the box is making the long-trusted back-in-time obsolete: there’s no need to backup to my external with one program and upload to b2 with another; duplicati is perfectly fine backing up what I need to my external as well.
Backblaze is an excellent service/tool in itself. For “regular” home users, they have a simple desktop tool (Mac or Windows) that backs up everything important on the computer (main hard drive and system files) by default, but easy enough to work with if you want to be more granular about your approach, including password-protected encryption. They are aggressively affordable, even more so than Amazon’s Glacier. ↩︎