É 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/
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/")
Mude para #{RAILS_ROOT}
antes da compactação e não especifique nos arquivos de origem.
Tags tar ruby-on-rails