¿Por qué falta la carpeta /home en mi archivo de copia de seguridad creado con tar?

¿Por qué falta la carpeta /home en mi archivo de copia de seguridad creado con tar?

Entonces estoy haciendo una copia de seguridad completa de mi VPS usando el siguiente comando (como root, por supuesto):

tar czvf 20120604.tar.gz /

Todo parece estar bien, todos los archivos parecen aparecer en la lista. El tamaño del archivo es de 6 Gb y la versión comprimida es de 11 Gb, lo que incluye /home, porque tengo 11 Gb de datos en VPS. Pero cuando intento descomprimir el archivo o abrirlo usando mc o WinRAR, no aparece la carpeta /home. Y WinRAR lo dice 20120604.tar.gz - TAR+GZIP archive, unpacked size 894 841 346 bytes. No puede ser un error de WinRAR, porque cuando escribo tar xzvf 20120604.tar.gz, /homela carpeta tampoco se descomprime.

¿Por qué /homefalta una carpeta en mi archivo? ¿Y qué puedo hacer para incluirlo allí?

tar --versiongenera lo siguiente:tar (GNU tar) 1.15.1

Respuesta1

Sospecho mucho que la exclusión del /homedirectorio en su copia de seguridad tar es el resultado de ejecutarlo como root (el directorio de inicio de root es /root/). Echando un vistazo a la página de manual (tomada dehttp://linux.die.net/man/1/tar), las siguientes opcionespuedepotencialmente causar/resolver/depurar su situación:

  Main operation mode: 
    -C, --directory=DIR
        change to directory DIR 
    -p, --preserve-permissions
        extract information about file permissions (default for superuser) 
    -v, --verbose
        verbosely list files processed 

  Operation modifiers:
    -g, --listed-incremental=FILE
        handle new GNU-format incremental backup 
    -G, --incremental
        handle old GNU-format incremental backup 

  Handling of file attributes: 
    --group=NAME
        force NAME as group for added files 
    --mode=CHANGES
        force (symbolic) mode CHANGES for added files 
    --no-same-owner
        extract files as yourself (default for ordinary users) 
    --no-same-permissions
        apply the user's umask when extracting permissions from the archive (default for ordinary users) 
    --no-xattrs
        Don't extract the user/root xattrs from the archive 
    --numeric-owner
        always use numbers for user/group names 
    --owner=NAME
        force NAME as owner for added files 
    -p, --preserve-permissions, --same-permissions
        extract information about file permissions (default for superuser) 
    --same-owner
        try extracting files with the same ownership as exists in the archive (default for superuser) 
    --xattrs
        Save the user/root xattrs to the archive 

  Device selection and switching:
    --force-local
        archive file is local even if it has a colon 

  Archive format selection:
    -H, --format=FORMAT
        create archive of the given format--FORMAT is one of the following: 
    gnu, oldgnu, pax, posix, ustar, v7, --old-archive, --portability, 
    --pax-option=keyword[[:]=value][,keyword[[:]=value]]... , --posix, 
    -V, --label=TEXT
        <see webpage/ man page for details>

  Local file selection:
    --add-file=FILE
        add given FILE to the archive (useful if its name starts with a dash) 
    -C, --directory=DIR
        change to directory DIR 
    -h, --dereference
        follow symlinks; archive and dump the files they point to 
    --hard-dereference
        follow hard links; archive and dump the files they refer to 
    -K, --starting-file=MEMBER-NAME
        begin at member MEMBER-NAME in the archive 
    --one-file-system
        stay in local file system when creating archive 
    -P, --absolute-names
        don't strip leading '/'s from file names 
    --recursion
        recurse into directories (default) 

  File name transformations:
    --no-anchored
        patterns match after any '/' (default for exclusion) 
    --no-ignore-case
        case sensitive matching (default) 
    --no-wildcards
        verbatim string matching 
    --no-wildcards-match-slash
        wildcards do not match '/' 
    --wildcards
        use wildcards (default) 
    --wildcards-match-slash
        wildcards match '/' (default for exclusion) 

  Informative output:
    --index-file=FILE
        send verbose output to FILE 
    -l, --check-links
        print a message if not all links are dumped 
    --show-defaults
        show tar defaults 
    --show-omitted-dirs
        when listing or extracting, list each directory that does not match search criteria 
    --show-transformed-names, --show-stored-names
        show file or archive names after transformation 
    -v, --verbose
        verbosely list files processed 
    -w, --interactive, --confirmation
        ask for confirmation for every action 

Ciertamente hay MUCHO que considerar, pero los comandos de Linux son flexibles y poderosos. Me imagino que si estudia cada una de estas opciones usando una caja de prueba con una estructura de sistema de archivos limitada, ejecutando la distribución que desea emplear, encontrará la combinación exacta para incluir en su secuencia de comandos para producir el resultado exacto que desea.

Con el fin de generar conocimiento comunitario, ¿podría volver a publicar la solución que brinda el comportamiento que desea?

información relacionada