![¿Por qué falta la carpeta /home en mi archivo de copia de seguridad creado con tar?](https://rvso.com/image/1317149/%C2%BFPor%20qu%C3%A9%20falta%20la%20carpeta%20%2Fhome%20en%20mi%20archivo%20de%20copia%20de%20seguridad%20creado%20con%20tar%3F.png)
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
, /home
la carpeta tampoco se descomprime.
¿Por qué /home
falta una carpeta en mi archivo? ¿Y qué puedo hacer para incluirlo allí?
tar --version
genera lo siguiente:tar (GNU tar) 1.15.1
Respuesta1
Sospecho mucho que la exclusión del /home
directorio 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?