Why only tar or rsync? They are for file level backups. If you want to copy a whole file system, including anything in it's boot record, the simplest way is to use dd on the partition's device file (example /dev/sda6) when the file system is not mounted.
To minimise the size of the backup, while the file system is mounted run, for example
dd if=/dev/zero of=/delete_this_file; rm /delete_this_file
For file systems other than / the /delete_this_file must be replace with a path on the file system. If /var is a file system mount point it could be /var/delete_this_file
That fills all the unused space with zeroes which are easily compressed. Then, with the file system unmounted (for example by booting another Linux), run, for example
dd if=/dev/sda6 conv=sync,noerror | gzip > /<path to where you want it>/sda6.dd.gz
Change sda6 as required.