输出tar存档到bash脚本中的特定路径

问题描述 投票:0回答:1

我的脚本中有一部分使用tar来存档一些文件夹。它应该将存档的结果输出到指定的文件夹。

以下tar命令将文件输出到正确的文件夹,但使得结果存档嵌套在其前面的完整路径中。

例如在我的tar文件中,我有以下文件夹:full / path / to / file

文件夹结构应该看起来不应该相对于父文件夹而不是根文件夹。

这是代码:

...
local PROJECTS=(~/path/to/folder/*)
...
local PROJECT_PATH="${PROJECTS[$i]}"
local BACKUP_NAME=`date +%d%b%y`.tar.gz
echo Making folder "${PROJECT_PATH}"/backups
tar -czvf $PROJECT_PATH/backups/$BACKUP_NAME $PROJECT_PATH --exclude="${PROJECT_PATH}"/node_modules --exclude="${PROJECT_PATH}"/backups
bash tar
1个回答
1
投票

如果您希望tar保存相对于某个目录的路径,请使用-C更改为该目录并提供相对路径:

tar -czvf "$PROJECT_PATH/backups/$BACKUP_NAME" -C "$PROJECT_PATH" . --exclude=./node_modules --exclude=./backups

-C "$PROJECT_PATH"告诉tar更改为$PROJECT_PATH目录,以下.告诉它归档其当前目录。

© www.soinside.com 2019 - 2024. All rights reserved.