I do a weekly full back of the root filesystems of my Linux desktop
and wife's laptop machines (while booted from rescue media) to zfs
snapshots on a home file server running freebsd using rsync. The server
holds snapshots for the most recent five weeks. A script on the server
watches for changes and synchronizes its copy of my desktop home
directory and paperless-ngx archive with a luks encrypted filesystem
backed by a regular file, splits the image file into 1MB chunks, and
uploads the changed chunks since the previous week to a cheap vps
using rsync (typically 2 to 4 GB out of 400 total). The image file is
on an external SSD connected to the server in case I have to grab it
and run. (I prefer luks and ext4 for external media to the bsd
equivalents so the server uses an Arch Linux vm with raw drive
passthrough.) A script on the vps synchronizes it with redundant
copies on three independent cloud storage providers using rclone, one
of which stores monthly snapshots for the most recent seven months.
I've memorized the passwords for the cloud providers and can access
them without 2FA. A script on my laptop watches the cloud storage
providers for changes and synchronizes one of them using rclone to a
local copy on a rotating basis, reconstructs the luks filesystem
image, and checks the SHA1 sum. My laptop also dumps a copy of the
image to an old-timey slow-ass external usb hard drive once per
quarter that holds the most recent four quarters. Once a year I back
up the paperless archive and selected important files to DVD.