¿Cómo puedo reflejar un directorio de Linux y hacer una copia de seguridad de todos los metadatos?

¿Cómo puedo reflejar un directorio de Linux y hacer una copia de seguridad de todos los metadatos?

Necesito hacer una copia de seguridad de mi carpeta de inicio (y algunas otras carpetas) en un sistema organizativo Linux NFS donde mi cuenta caducará pronto, en un disco duro personal (que no utiliza un sistema de archivos Linux). Accedo a la cuenta a través de SSH y SFTP. Quiero hacer una copia de seguridad de todos los metadatos de estos archivos y directorios y de todo lo que contienen, incluidas fechas, propietarios, grupos, números UID/GID, permisos CHMOD, etc. ¿Cómo puedo hacer esto? ¿Necesito ejecutar el comando LS de forma recursiva en el directorio con ciertas configuraciones sobre qué información mostrar y canalizar los resultados a un archivo para que la información esté en un archivo independientemente del sistema de archivos al que la mueva? ¿O hay alguna manera de guardar todos los metadatos usando algo como TAR/GZ? Si es con TAR/GZ, ¿cómo puedo ver estos metadatos en otros sistemas de archivos a los que muevo el archivo? ¿Los usuarios/grupos almacenados permanecerán intactos mientras no se extraigan?

Además, ¿sabe cómo hacer esto también para los metadatos de SELinux y los metadatos de AFS (Andrew File System)? (Estos serán para otro sistema de archivos más adelante, pero si no sabe la respuesta a ninguno de ellos, responda lo anterior).

Respuesta1

utilizar alquitrán(1)

Sí, el programa de archivo tar es una buena forma de controlar un directorio de Linux.

Una ventaja de hacerlo de esa manera es que no importa cuál sea el sistema de archivos intermedio. Por ejemplo, puede colocar el archivo .tgz en una unidad flash FAT32 o cualquier otra cosa y, siempre que la extracción se realice finalmente en otro sistema tipo Unix, todos los metadatos sobrevivirán.

$ tar cvfz /somewhere/else/backup.tgz . # save current directory and everything underneath
...
# later, on a Unix box...
$ mkdir my_old_dir; cd my_old_dir
$ tar xvfz /whatever/backup.tgz

información relacionada