tar cvf /var/lib/backup/sample.tar /home/user/.project
Sin embargo, cuando extraigo, también obtengo sus padres.
/backup/
- /home/
- /user/
- .project/
Este comando tar funciona porque no incluye nada más en sus carpetas principales (otras carpetas, user
por ejemplo).
Quiero hacer esto mediante programación, por lo que cambiar el directorio de trabajo actual /home/user/
no es realmente una opción. ¿Es posible hacer eso?
Respuesta1
Puede usar la -C
opción para cambiar al /home/user
directorio antes de tarear o usarla --strip-components 2
en la extracción.
tar cvfC /var/lib/backup/sample.tar /home/user .project
# Note the space ^
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2
Respuesta2
Creo que si va cd
al directorio de nivel superior en el que desea crear tar
el archivo, no debería tener este problema. Es decir,
cd
hacia user
y hacia tar
arriba .project
... puede especificar el destino del archivo tar como /var/...
antes.
¿O hay alguna razón por la que no quieres o no cd
puedes user
?