【问题标题】:Output A tar archive into a specific path in a bash script将 tar 存档输出到 bash 脚本中的特定路径
【发布时间】:2019-04-12 12:48:46
【问题描述】:

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

以下 tar 命令将文件输出到正确的文件夹,但将生成的存档嵌套在指向它的完整路径中。

例如 在我的 tar 文件中,我有以下文件夹: 完整/路径/到/文件

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

代码如下:

...
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】:

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

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

    -C "$PROJECT_PATH" 告诉tar 切换到$PROJECT_PATH 目录,下面的. 告诉它归档当前目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多