
Estoy intentando combinar dos opciones para crear un archivo tar, pero no funcionan bien juntas. No sé cuál es el problema.
Yo suelo:
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Si uso solo la opción -C, se crea un archivo tar con solo una ruta relativa "./html/", pero TODOS los archivos dentro de esa carpeta. No quiero esto.
Luego, si uso solo la opción -T, se crea un archivo tar con solo los archivos requeridos, pero la ruta es absoluta "/var/www/website/html/whatever.html". Yo tampoco quiero esto.
Quiero una combinación de los dos, pero de alguna manera no funciona.
La estructura de carpetas es:
/var/www/website/html/
- Muchos archivos .html
La carpeta /tmp/htmllist.txt contiene líneas como:
- /var/www/sitio web/html/file1.html
- /var/www/website/html/file5.html
- /var/www/website/html/file32.html
Etcétera.
¿Cómo soluciono este problema?
Respuesta1
Tar funciona al revés cuando se usa -T
. Archiva los archivos, incluida la ruta completa. Si no desea la ruta, quítela al extraer, por ejemplo,
Crear archivo comprimido
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Extraer archivo tar
tar -xvf html.tgz --strip-path=3
Esto elimina tres componentes de la ruta de salida, es decir, /var/www/website.