I am looking for some Linux software to help me do 3-2-1 backups. Right now, on my home network, my live data lives on my NAS and I do nightly backups to my home backup server. The backup server runs on its own hardware, but it is in the same location. The backup server takes snapshots and versions the nightly backups. One of the snapshots is periodically backed up to a remote drive. Backing up to the remote drive is a hassle since it is only available via sneakernet.
I was hoping to find a piece of software that would compare the live volume to the snapshot on the backup server that is also on the remote drive and create an archive of the data and the steps needed to bring the remote drive data up to date with the live volume. I could then sneakernet this delta archive to the offsite location, but not apply it. In case of disaster, I could restore the offsite backup, and then merge the delta archive into it. Every once in a while, I would sync the offsite backup with the onsite backup.
It seems like
rsync -n would be a reasonable start. I can use it to generate a list of differences between the live data and the onsite backup snapshot that corresponds to the offsite backup. The
rsync output is not directly usable and I would need to parse it differently, I think, when I create the delta and when I apply the delta. This seems non-trivial.
Is there existing software that does this?