tar -pczf foo_backup.tar.gz foo/
Este comando creará (-c) un nuevo fichero foo_backup.tar.gz (-f), comprimido con gzip (-z) guardando todos los permisos (-p).
Actualización:
En caso de tener que volcarlo en un disco externo este post puede ser interesante para evitar el mensaje "File too large"... :)
Todo junto quedaría:
tar -to-stdout -pcz foo/ | split -b3500m - foo_backup.@
Y cortesía de fpuga un par de links interesantes para usar la opción -L de tar y otras cosas más: