I’ve run multi-tiered disk-to-disk and disk-to-tape backup systems, complete with tape robots, full/incremental backup schedules and on-site/off-site tape storage.
For personal backup, for years I used scripts and rsync to backup to a private vps. These days still using scrips to copy key files (package lists, select /etc & /home files) to an SD card directory that’s sync’d with ODrive (GDrive client). Nextcloud or similar clients would work too. A nice side benefit is that sharing any file is easy, just by copying it to a sync’d directory and sharing through GDrive’s web interface (note that GDrive provides file versioning by default).
Also I’ve used Syncthing for both on-site and off-site mirroring. Syncthing supports file versioning and is a powerful multi-master-capable alternative to rsync.
Also, to those doing disk image Backups, do you create a 1:1 image of the disk including empty space? Or is there a way to run dd on a disk and write to an image without writing all the empty space?
It is posible to dd to a tar file.
fsarchiver
Edit: also look at Partclone “…provides utilities to back up and restore used-blocks of a partition…”
And technically dd
isn’t even necessary, if you don’t care about the fine-tuning of block size, etc., even cat
will do the job. For interactive partition cloning on identical sized partitions, I’m partial to pv
with its nice progress meter, e.g.:
pv /dev/sda1 > /dev/sdb1
Edit: A digression on partition images, qemu-img
can create (and convert, eliminating unused bytes) mountable compressed images (guestmount
is an easy tool for this), suitable to receive backup data from tar
, cpio
, etc. And mksquashfs
can create a highly compressed and mountable (read-only) image copy of a filesystem.