I use both CloneZilla and Back In Time to do system and data back-ups respectively.
The advantage of CloneZilla over built-in tools like
dd is that it uses its own
partclone which creates very small images (it recognizes sparse files, can use a number of compression utilities, ...) and falls back to
ddrescue which allows reading of damaged hard drives! (Nice to have that very last back-up before the HDD finally gives up completely.)
You should however have (at a minimum) a separate
/home if you want to easily differentiate between your OS and user config files.
Nothing is as flexible, robust and fast as CloneZilla to do full off-line image/disk back-ups (and I'm always reading back-up manuals if someone mentions its favourite back-up tool to see whether they've got something better then I have)
If you put CloneZilla onto a 512 MByte bootable partition of an external USB HDD, you can just boot it on any machine and restore any backup you've made to the partition taking the rest of that same HDD.
Warning: if you restore the same system back-up to multiple machines all these machines will be clones of one another with the same host name, time zone, IP (if static), ... so all these need to be personalised after "restore"...
Alternatively, I have a bootable USB SLC stick that has a full install of Linux (in my case lubuntu) without any proprietary drivers and a leading FAT partition, no swap partition but a swap file inside the
/ partition that I can boot on any machine (so far) and that I use to disinfect Windows machines (or just work on someone else's machine without touching their data if they're paranoid).