I just back up my personal data. If things get fouled up to the point that the system won’t run then I do a full “bare metal” re-install of the OS. This is not the complete system backup that Neville does.
I put the backup command in an executable BASH script (cleverly named “mybackup”). I exclude some files that are a) big, b) I wouldn’t restore them, and c) sometimes generate rsync error messages.
Here’s the command:
rsync -av --exclude ‘.local/share/Trash’ --exclude ‘.cache’ --exclude ‘snap’ /home/don
/media/don/Aon-S1/MyBackUp
The -a flag is a composite of other flags/switches: archive mode; equals -rlptgoD (no -H,-A,-X)
-v is verbose mode (I find it reassuring to see what’s happening.)
One thing that rsync does not do is erase files in the destination drive. For example, if you move “File1” to “File2” on the source drive, rsync will grab a copy of “File2” but not erase “File1” on the destination drive, even though “File1” no longer exists on the source.
The result is that eventually the destination drive may contain superfluous stuff. This can lead to confusion when doing a restore (ask me how I know). So, periodically, I erase the backup and let rsync make an all new copy.