I've been using zrepl to stream frequent filesystem snapshots (using OpenZFS) from a live server to a backup server on OVH/Hetzner. Zrepl then ages out snapshots on a fairly flexible cycle.
I've used this several times to create point-in-time recovery of the entire live site. This is important as it makes activating a MySQL backup instance a matter of seconds, not the better part of an hour (or more!) to restore a logical dump into MySQL.
There are also MySQL logical dumps which are then export to a 3rd location weekly. This uses a snapshot on the live system and then a single purpose MySQL instance to dump the database without needing to touch the production setup.
Note; Due to shipping binary mysql files; you must use identical uarch and the same (or newer) MySQL/MariaDb version on the backup server if you are going todo restores.
It turns out I have RAID on the server and the disc is mirrored to a second disc should the first disc fail.
I've also installed JetBackup on the server for cPanel account backups, locally.
And using WHM I have a daily system back up cron which is stored remotely on Google Drive, just in case, and so far using compression it falls within their free 15Gb limit.