

I personally use rsync since I do most my work by command line these days. It’s taken nearly half a year really understand it but it offers the flexibility I desire.
I have a small network with only a handful of devices. I keep all my incremental backups on encrypted partitions and encrypted detachable SSD’s which I manually decrypt. Rsync is set up to use SSH so there’s some form of encrypted transfers but that’s not actually a priority for me, just an added benefit.
I also use rsync to sync files and directories while maintaining additional system attributes across multiple systems. That is to say, what’s root or user accessible stays root or user accessible after the transfer is complete.
If I desired more protection, I’d probably look into Borg backup. Currently I just use encryption as an annoyance deterrence method. I also stick to the base Rsync command because every other option I tried brought with it complexities which have all failed me. I at least have a high level confidence in my backup/restore process now.
Container databases seem as simple as shutting down a container, running a backup and then starting the container again. Although my my experience is only from hosting a Lemmy/PieFed instance. I did make many backups and restores with no issues to the database. It all worked as I intended it to work.
I would imagine a similar process for non container databases. Stop, backup, restart. Although someone with more experience would be better to answer that.