Right now I'm using Arq Backup + S3 and have been happy.
Right now I'm using Arq Backup + S3 and have been happy.
The only thing I'm not happy about with Arq is that a "verify" downloads all the backup data to checksum it. That takes 3 or 4 days on my connection.
I thought I read that many cloud storage provider APIs provide a way to ask the server for a checksum of a stored blob. I'd have expected Arq to make use of that, but maybe it is not reliable (the server might just report what the checksum is supposed to be, not actually read the data and checksum it?).
Arq documents their storage format. I wonder if it would be possible to use a VM on Azure to access my OneDrive storage and do the checksumming on the VM?
HashBackup (I'm the author) has a lot of ways to verify backups. For B2 uploads, it generates a SHA1 hash before sending the data, stores that in a local database, sends the data with the hash, B2 generates an independent hash of the data, and compares it to the one HB sent. If there is a mismatch, an upload error occurs and the upload is retried.
On download, B2 sends the data and SHA1 hash (I'm assuming it verifies the hash during erasure reconstruction also), HB generates a SHA1 hash for the received data, verifies it against the SHA1 B2 sent, and verifies it against the SHA1 stored when the file was uploaded.
After the upload, files can be verified by:
- downloading the complete file as above, then verifying every block in the file - getting the file size and SHA1 hash from B2 and verifying those against the local database (no data download) - downloading N random samples from each file and verifying the block-level SHA1 for each sample - downloading a small percentage of the files every day to verify the backup over time (this can be done with whole files or random samples)
If a problem is detected and you have other copies of the backup on another storage service or locally, HashBackup's selftest will fetch all copies of a file to reconstruct the original backup data to correct any errors, then upload the corrected file to all destinations.
I see from this Reddit thread [1] that it was removed for storage locations that don't need it a few months ago, saying
> Back Up and Validate is a waste of time and money for any storage location that provides checksums. That's why we removed it. It only causes pain and cost.
My last "back up and validate" to OneDrive was a couple months before you removed it, so it looks like I was just hitting the "waste of time and money" case that prompted its removal.
From the Reddit thread, it looks like the way to do a check that everything is OK on both ends when using a storage provider that provides checksums is to clear the cache and to modify the backup plan (just editing it and saving is sufficient), and then do a backup. The cleared cache makes it get the checksums for everything in the backup and the modified backup plan makes it rescan everything locally. Is that correct?
[1] https://www.reddit.com/r/Arqbackup/comments/n87vuw/missing_b...
i do a full-full-everyfile backup on occasion to a NAS.
Arq + Wasabi