I've had a hard time finding a low-end backup solution (i.e., for personal use) that retains and restores all metadata.
Long ago, I assumed that backup (and move) applications are relatively simple. But it has never seemed to work out that way.
Long ago, I assumed that backup (and move) applications are relatively simple. But it has never seemed to work out that way.
Today, back-to-back tar is rarely needed, as cp itself already has options to preserve metadata. In particular, "-a","--archive" turns all the normal features (including --recursive), making metadata-preserving backups as easy as:
cp -a $SRC $DST
which is a shorthand for cp --recursive --no-dereference \
--preserve=context,links,mode,ownership,timestamps,xattr
Just the "-a" option is enough for most simple local backups. Fancier backups are possible with cp's "--backup=numbered" and --reflink=auto features, but my favorite just-works solution for backups is rdiff-backup[1]. It preserves everything, uses rsync internally for minimal data transfer on incremental backups, and many more features. mount /dev/sdb1 /m
tar cf - . --exclude=./m --exclude=./proc --exclude=./sys | (cd /m; umask 0; tar -xf -)
mkdir /m/proc /m/sys
grub-install --root-directory=/m /dev/sdb
(except you must also adjust UUIDs in /etc/fstab)