I recently switched over to Backblaze B2 to store my website backups, and it’s been a great experience. Each B2 bucket has its own lifecycle rules which determines how long to keep previous file versions. My backup B2 bucket is configured with unlimited file versions, which means my nightly incremental WordPress backups, in theory, should be fully restorable at any point in the past. While the data is all safe, there isn’t a good way to do a full time machine style restore.
Backblaze is a pioneer in robust, scalable low cost cloud backup and storage services. Personal online backup to enterprise scale data storage solutions. Apple did a great job with Time Machine, and with building awareness for backups. When you plugged in your first external hard drive, your Mac would ask if you wanted to use that drive as a Time Machine backup drive, which was instrumental in teaching users about the importance and potential ease of backups. It also dramatically simplified data backup, making it automatic and continuous. Apple knew that havin.
Time Machine Backblaze B2
- The Time Machine backup is now being synced to Backblaze B2. This can take a few minutes or much longer depending on the size of the initial Time Machine backup. Each Time Machine backup is updated, the changes will be done on the Synology NAS and then synced automatically to Backblaze B2. You can close your Synology NAS device.
- Backblaze doesn't install any drivers and opens any files it backs up as read only so your computer is kept stable. Backblaze also works great running side-by-side with Apple Time Machine for added security.
- For $60 a year you can get unlimited storage for one machine. If you don't want to pay the $60 upfront, you can pay $6 a month. Backblaze works on both Windows and macOS, and the default settings.
Rclone gets pretty close however lacks necessary B2 specifics to fully reconstruct.
Backblaze Time Machine Drive
Rclone is a powerful tool for moving data to and from many cloud providers including support for Backblaze B2. While Rclone can see B2 file versions using an argument --b2-versions
there isn’t an official way to reconstruct the entire folder structure at a particular time. Adding a B2 specific restore in time feature has been discussed however it’s waiting for someone to actually work on adding the new functionality.
Why use B2 for restore in time?
Backups can get really expensive fairly quickly. Currently my customers are using around 1TB of data. If I were to do what most web hosts do and offer a nightly snapshot for the last 30 days my storage usage would increase to 30TBs. Not to mention all of the CPU and memory required to actually make those snapshots.
With B2 storage and file versions enabled only one copy of each site synced regularly is required. That keeps storage requirements and computing costs fairly low with potential of offering some pretty insane restorability. Imagine being able to restore your website from a years ago instead of just the last 30 days. That’s the type of thing that I’m hoping to accomplish using a B2 time machine.
Alternative workarounds using Rclone exists
In the meantime a few scripting alternatives have been created to mimic a restore in time backup. They use Rclone along with some clever syncing and file renaming. One of those solutions is one I wrote in bash which uses Rclone’s --b2-versions
, --min-age
, sync
and copyto
to do a restore in time from B2. It’s not perfect however it’s fairly close. See more on that project over on Github.
A B2 specific restore in time feature for Rclone would be amazing.
Rclone is a written in Go, which are really fast. That means anything bundled into Rclone directly would be significantly faster to alternative approaches. The Rclone project itself means a B2 time machine restore would be widely accessible to other Rclone users. Until that happens I plan on using my Backblaze B2 Time Machine script.