Como fazer o TAR não salvar a hierarquia de diretórios

4

system ("tar -czf # {RAILS_ROOT} / tmp / resultado-de-exportação # {RAILS_ROOT} / tmp / export")

Quando descomprimo o arquivo resultante, obtenho

app/c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f/home/tmp/export/and_the_files

Gostaria de receber:

export_result/and_the_files

Como faço para alterar minha chamada TAR para realizar isso?

solução:

system("tar -czf #{RAILS_ROOT}/tmp/export.tgz --directory=#{RAILS_ROOT}/tmp export/")

    
por Nerian 19.02.2011 / 13:23

2 respostas

3

É assim que você faz,

tar cfz target.tgz --directory=TARGET_DIR subdir_list

No seu caso, seria parecido com

tar cfz target.tgz --directory=app/c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f/home/tmp export/
    
por 19.02.2011 / 13:29
1

Mude para #{RAILS_ROOT} antes da compactação e não especifique nos arquivos de origem.

    
por 19.02.2011 / 13:29