I talk about how I switched from Backlaze personal to Backblaze B2 with restic and rclone, and draw some comparisons between them.
Rclone config reconnect. Re-authenticates user with remote. This reconnects remote: passed in to the cloud storage system. To disconnect the remote use 'rclone config disconnect'. This normally means going through the interactive oauth flow again. Rclone config reconnect remote: flags Options-h, -help help for reconnect. Rclone 'rsync for cloud storage' is a powerful command line tool to copy and sync files to and from local disk, SFTP servers, and many cloud storage providers. Rclone's Backblaze B2 page has many examples of configuration and options. Supports Fireball. Backblaze B2 is enterprise-grade, S3 compatible storage that companies around the world use to store and serve data while improving their cloud OpEx vs. Amazon S3 and others. Developers use it to easily build apps and manage services. IT leaders use it to backup. The Backblaze Personal Backup client was started in January of 2007 as a ‘C’ and C source tree that compiled on Windows, Macintosh, and Linux (originally CentOS but later when we standardized on Debian for the server side we now compile the client on Debian).
If you use a computer and care about the data stored on it, follow best practice and keep backups:
- The live data
- A local backup
- An offsite backup
But there are so many options available for how you manage these.
For the past couple of years I’ve been using Backblaze as my offsite backup solution. It works really well, and it’s saved me a couple of times so in my mind it was worth it. That is until I considered just how much I was spending on it.
I had in the order of 100GB being backed up at any one time, and was paying $110 for 2 years. I found Backblaze’s cloud storage (B2) calculator, and figured that for this kind of data I should be paying nowhere near as much if I was managing the backups myself. Cloud storage is pretty cheap these days, and unless you have terabytes of data to backup, going DIY is probably cheapest.
So I decided to make the switch from Backblaze’s managed personal backup to a self-managed backup hosted on Backblaze’s B2 cloud storage platform. The following may also be of interest to Linux users, as Backblaze doesn’t offer a personal backup system for linux OS.
The first solution I decided to try and use was called restic. It’s a backup system that comes with encryption capability out of the box and packs everything into a repository, not dissimilar to how git
works.
The command line interface is fairly easy to get started with, but you need to manage storing your passwords and so on yourself. Either as files or environment variables. Because it uses a repository system, it can intelligently avoid duplicating data that are the same, cutting down on storage costs.
The first thing I noticed with restic
was how slow it was. Even backing up to a local repository took time. I tried to speed that up by setting up an exclude file, which did wonders, but restic
still wasn’t quite fast enough. A problem that was compounded when I started connecting to B2 over the network.
restic
also offers a snapshot system. I’ve read the documentation many times over and can’t for the life of me figure out how it works. I’m used to managing repositories and file histories with git
, and that’s fine, but restic
just seems a bit too complicated for me.
Given that you want a backup system to be easy to use, to avoid making mistakes, I decided to look for something else.
The most important difference with rclone is that it does away with repositories altogether. It’s primarily aimed at keeping things cloned and in sync. Luckily though, the B2 integration can use B2’s bucket history to keep track of changed files so it’s still possible to use it to store versions of backups or even files that you’ve deleted.
When you first run rclone config
, the interface seems a lot more complex. But actually, the nice walk through menus it gives are very helpful in getting things set up. B2 is a supported backend, with its own documentation and options.
But where it all started to fall apart for me was with the encryption. rclone
does no encryption at all by default. It has a whole separate system for that which, somewhat confusingly, is treated as a separate “backend” on top of the one you currently use. Which means If I want to securely use Backblaze I have to make a B2 backend, then a crypt backend pointing to that B2 backend.
The concept of managing multiple backends also took a bit of getting used to once I started trying to figure out how to make buckets for B2. Especially with all the subtle warnings it gives about being careful when using buckets and crypt together.
Backblaze B2 Calculator
Eventually figured it out. To use a crypted B2 backend I needed to:
- Make a new backend ‘b2backend‘ pointing to B2 using my ID and Key.
- Make a new backend ‘crypted‘ pointing to ‘b2backend:unique-bucket-name‘
- When backing things up with
rclone sync
, point to ‘crypted:directoryname‘
And it is much faster than restic
, especially when using the --fast-list
option. One thing I did note was hat though the excluded files list could be re-used between restic
and rclone
, rclone
needed a slash after names if it was to apply the rules to directories as well. For example ‘Test’ would block the file ‘Test’, and also any folder called ‘Test’ in restic
, but in rclone
it will only block files called ‘Test’. In rclone
‘Test/’ would block a folder called ‘Test’.
Here’s a summary of my experiences using the different software I’ve discussed:
Borg Rclone Backblaze
Software | Backblaze Personal | Restic | Rclone |
OS | Windows, Mac | All | All |
Price | $60/year | Software is free | Software is free |
Storage | Free unlimited storage included in price | Your storage may vary in costs | Your storage may vary in costs |
Storage Locations | Only Backblaze personal servers | Many storage options, including local and B2 | Many storage options, including local and B2 |
Storage Optimisation | Default exclusions for some files, GUI to manage | Must manually define exclusions, avoids duplicating data | Must manually define exclusions |
History | Keeps last 30 days of files | Managed repository system lets you track snapshots of files | Doesn’t keep histories by default, some backends do support it |
Difficulty of use | Easy | Medium | Medium-Difficult |
Encryption | Off by default | On by default | Off by default |
Backup frequency | Automatic in background | Needs manual run | Needs manual run |
Speed | Fast | Slow | Fast with –fast-list option |
Rclone Backblaze B2
I think for now I’ll stick with rclone
, once you get the hang of configuring it, it’s actually quite nice to use. It’s also fast. And cheap if you find a good storage provider, which Backblaze does nicely with B2.