To create a full backup of a system you can use these steps. Log in to the host to backup and run
$ tar --exclude /proc --exclude /sys --absolute-names --create --verbose --file - /* | pv | ssh USER@TARGET "gzip > backup.tar.gz"
USER@TARGET is another system where I stored the data. In this case I let the target host compress the content because it was a much faster machine.
Note: The directory
/sys is used by the sysfs filesystem on my machine. So if you don't have that, just leave it out.
Note: I use the
pv tool to display the progress of the backup process. This way I can see error messages on the fly and still can see that the machine is not frozen and still running the tar process.
After the backup you should of course make sure that it worked or you will look like and thats no fun. You should be able to restore it without errors and without missing files. Better verify it several times before regretting it later. At least run a tar verification like
$ tar -tzf backup.tar.gz
In case you want to restore an archive and the path information in the archive has to be modified, then pax is the tool you'll need.