
Estou tentando combinar duas opções para criar um arquivo tar, mas elas não funcionam bem juntas. Eu não sei qual é o problema.
Eu uso:
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Se eu usar apenas a opção -C, ele criará um arquivo tar com apenas um caminho relativo "./html/", mas TODOS os arquivos dentro dessa pasta. Eu não quero isso.
Então, se eu usar apenas a opção -T, ele cria um arquivo tar com apenas os arquivos necessários, mas o caminho é absoluto "/var/www/website/html/whatever.html". Eu também não quero isso.
Quero uma combinação dos dois, mas de alguma forma não funciona.
A estrutura da pasta é:
/var/www/website/html/
- Muitos arquivos .html
A pasta /tmp/htmllist.txt contém linhas como:
- /var/www/website/html/file1.html
- /var/www/website/html/file5.html
- /var/www/website/html/file32.html
E assim por diante.
Como eu resolvo este problema?
Responder1
Tar funciona ao contrário ao usar -T
. Ele arquiva os arquivos incluindo o caminho completo. Se você não quiser o caminho, retire-o ao extrair, por exemplo,
Criar tarball
tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt
Extrair tarball
tar -xvf html.tgz --strip-path=3
Isso remove três componentes do caminho de saída, ou seja, /var/www/website.