如何使用特定目录树创建tar文件(tar.gz)文件

时间:2015-04-09 23:37:52

标签: directory compression tar

我正在尝试备份具有以下结构的目录树:

/home/joe/projects/goodie/binary_program
/home/joe/projects/goodie/image.png
/home/joe/projects/goodie/sound.ogg
/home/joe/projects/goodie/license.txt

我想使用以下结构创建存档:

goodie-2015_04_09-15_34/binary_program
goodie-2015_04_09-15_34/image.png
goodie-2015_04_09-15_34/sound.ogg
goodie-2015_04_09-15_34/license.txt

我知道如何创建日期/时间戳标签,但我不知道如何在tar文件中实际创建树结构。任何想法?

1 个答案:

答案 0 :(得分:0)

GNU tar有一个--transform选项,可以在将文件放入存档之前在文件名(或文件路径)上运行sed。

source=/home/joe/projects/goodie
name=goodie-2015_04_09-15_34

tar cvzf $name.tar.gz $source/* --transform "s@^$source@$name@"