Our great sponsors
-
rclone
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
kopia
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Python source code? Yes, it is on https://github.com/borgbackup/borg (if that was the question).
No cloud? Indeed, borg does not integrate cloud functionality.
You'll either need a directory or a server with ssh and borg to store your backups into. Some people use rclone to clone their borg repos to the cloud.
I had to setup a quick backup to s3 storage to replace an aging rsnapshot setup. I looked at Borg, but Duplicity (https://duplicity.us/) was easier to configure and connect to S3.
For syncing S3 storage across providers, I went with rclone (https://rclone.org/). Note that using rclone to sync across providers (e.g. from Amazon to Wasabi) does require the files to be downloaded to the client machine and then uploaded again. Not ideal, but if you have extra bandwidth it is a convenient setup.
* decreased backup replication time [ borg repo tends to have much less, larger files compared to rdiff which has in its repo at least as many files as your source data; rsync likes it ].
to finish backups in a reasonable time we had to parallelize backup gathering [ each server / vm goes to separate borg repo; this limits a failure domain in case of corrupted repo, but denies us benefit of deduplication on larger scale - across servers ] and borg archiving. without that - we would be a limited by a single cpu core performance [ borg is not multithreaded yet ].
it's worth testing the backups - we're doing it each day by using borg's repo self test and by extracting few key files and checking their checksums and content... just in case.
echoing other comments - https://kopia.io/ looks interesting but we have not tried it yet.
https://github.com/restic/restic/issues/2659
Of course there are some cifs issues in the borg tracker, too, but most of them seem to be based on unreliable network connections - while the restic problem seems to be related to golang details.
With backups I would rather not trust a tool that has basic problems like accessing files on a network drive, but this is just me.
I tried a few backup tools and https://github.com/andrewchambers/bupstash is my favorite by far but it's not that well known.
It was pretty fast already and recently got multithread support. It has been the only thing usable for backing up a few TB in a raspberry for performance reasons.
Keep in mind it's relatively new and the author does not yet recommend to use in production as the only backup solution.
Borg is surprisingly fast and memory-efficient, even when compared to Restic, which is written in Go. Recently did a benchmark to test the upcoming Borg v2 and this was what surprised me most:
https://github.com/borgbase/benchmarks
rsync.net has a special discount when you use borg and "you're an expert" https://www.rsync.net/products/borg.html
We're looking to replace our self-written borg backup scripts with https://torsion.org/borgmatic/ which is a wrapper around borg.
I'm using Velero to do this in my toy kubernetes clusters. It uses Restic under the hood and can store things into S3. By default it will take a filesystem-level copy of whatever is on a pv. It looks like it supports hooks, e.g. to run pg_backup like you mentioned, but I haven't used them.
https://github.com/vmware-tanzu/velero
This is why I made https://github.com/Freaky/zfsnapr
Instead of working out how to teach my backup tools about snapshots, I just mount them in a subtree and use that as a chroot env.
borg is great. we've been using it for the past 3 years to archive hundreds of file-level backups of servers, database dumps and VM images. average size of each borg repo is few GB but there are few outliers up to few hundreds of GB.
borg replaced https://rdiff-backup.net/ for us and gave: