(Sorry, I can't reply to the original thread as I wasn't a member of the list at the time)

Can I throw restic[0] in to the mix? It's very similar to borg, but super fast[1].  I moved away from borg a while ago for various reasons.

It's written in golang, so it's a simple ELF executable to deploy. Supports lots of destinations[2] and multiple keys [3].

Specifically, I'm thinking the multiple key feature would allow us to have the client push backups to the backup server over a read-only connection (SSH, S3, rsync, whatever), then be able to run restic server-side to handle the cleanups.

Anyway, 'food for thought' that we can discuss.

Cheers,
~p


[0] https://restic.net/
[1] My home desktop backup: ~121gb of source data on spinning-rust (not SSD); incremental backup takes ~8 seconds:
scanned 11482 directories, 72707 files in 0:01
[0:07] 100.00%  13.298 GiB/s  121.249 GiB / 121.249 GiB  84189 / 84189 items  0 errors  ETA 0:02
duration: 0:07, 15798.45MiB/s
snapshot 8c4aea6d saved

[2] https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html
[3] https://restic.readthedocs.io/en/stable/070_encryption.html