I was starting to run into that until I moved pict-rs to object storage a few days back.
I gzip the backups, keep one local, upload the rest to Backblaze. The local one gets deleted before the next backup starts.
For the backups I have these bash scripts (the pict-rs one takes much less time now that I use object storage so the images aren’t on the server): https://gist.github.com/bdonvr/5d4e56dadcb29de656368a1cb78cc00e
You can look at rclone’s docs on how to hook that into B2 (or wherever you’d like to dump your backups, B2 is jusut cheap). I also set up a crypt in rclone so it encrypts it as it uploads (optional).
Then just put those on cron jobs at different times, I do them every 6 hours. One at <hour>:15 and one at <hour>:45
Then in B2 I set the bucket to keep files for 10 days.
To migrate to object storage check pict-rs docs here: https://git.asonix.dog/asonix/pict-rs.git#user-content-filesystem-to-object-storage-migration
Took about 20 minutes for me with 30gb of files, but your instance has to be down for it. I use Cloudflare R2 for pict-rs.
Thank you very much. Seriously, that lays it all out perfectly. I was looking at the pict-rs docs for how to switch but then work called… so I really appreciate you taking the time to do this. 🙌 🍾 🎉 🥂