I've followed the Clonezilla advice, but found it lacking fakeraid support.
I then tried Mondo Rescue, because it came highly recommended as an enterprise tool. It is sufficiently clumsy to be exactly that, and after some extensive head shaking, I managed to get it to work. It leaves the impression of a very robust tool run by support contracts. In 2005. :)
It turns out, for me, the by far easiest and most compatible solution was a trusty tool we rely on for many things. Open a root shell and enter this command with the necessary adjustments:
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/var/log/mysql/*","/usr/local/var/crashplan/*"} / my.backup.server:/home/backup/thisBox/
It requires minor per-machine adjustments for directories to exclude. On my home machine for example, it skips steamapps/common, while our servers exclude backup locations, apt cache, or other unnecessary clutter.
To recover this backup, all you need is something that can access your drives and your backup, and includes rsync. A very easy solution would be, for example, a base installation of the same distro; architecture must be a match, kernel shouldn't be light years off. Install the most basic version with a shell (and network), reverse the rsync procedure, refresh grub/lilo, reboot.
A more efficient approach would be to use whichever rescue mode gives you a shell and network, and copy from there. Though you will need to prepare the drives yourself, and chroot and a few rebinds to get grub installed. For the bootload chroot, modify this script to your needs:
mount --bind /dev/pts /mnt/disk/dev/pts
mount -t proc proc /mnt/disk/proc
mount -t sysfs sys /mnt/disk/sys
chroot /mnt/disk
Not only is this solution medium-agnostic and will work on anything that can hold a Linux filesystem, advanced users can also automate recovery by putting it on a medium alongside with small bootable linux and a few rc.local commands.
Another valuable method in conjuction with this backup are hardlink copies. Keep rotating copies of your backups with "cp -al" to get incremental archives. Hard linked files use the same data on disk; if one of them gets overwritten, the other retains the old data. The archives will only ever need as much space as there are unique file versions, not per copy.
Keep it simple, stupid. :-)
dump(8)
/restore(8)
.dump(8)
/restore(8)
take care of creating images. They don't deal with the partition sector, nor handle automation, encryption, expiry, splitting across volumes, transferring copies over network, and so on. They are something to use for imaging filesystems, to be used instead ofdd(1)
orrsync(1)
, and good enough to backup your laptop to an external disk. Use something likezmanda
orbacula
if you need more.dump(4)
can handleext4
filesystems just fine, and no, it isn't deprecated. There seems to be a lot of FUD about it out there, not sure why.