gpt4 book ai didi

amazon-s3 - 重复性:使用目录名称中的空格进行还原

转载 作者:行者123 更新时间:2023-12-04 19:34:18 26 4
gpt4 key购买 nike

我正在尝试使用重复包装脚本(duplicity-restore.sh)恢复文件,内容如下:

#!/bin/bash
# Export some ENV variables so you don't have to type anything
export AWS_ACCESS_KEY_ID="AWS_KEY"
export AWS_SECRET_ACCESS_KEY="AWS_Secret_key"
export PASSPHRASE="######"

# Your GPG key
GPG_KEY=######

# The destination
DEST="s3://s3.amazonaws.com/<path-to-bucket>"

if [ $# -lt 3 ]; then echo "Usage $0 <date> <file> <restore-to>"; exit; fi

duplicity \
--encrypt-key=${GPG_KEY} \
--sign-key=${GPG_KEY} \
--file-to-restore $2 \
--restore-time $1 \
${DEST} $3

# Reset the ENV variables. Don't need them sitting around
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export PASSPHRASE=

我很难恢复存储在名称中带有空格的目录中的文件。我尝试了以下方法:

没有引号或转义斜杠:
./duplicity-restore.sh "2018-02-08" dir1/dir2/dir name with spaces/filename.txt /destination/

以上导致错误“在存档中找不到 dir1/dir2/dir - 未恢复文件。”

引用整个路径参数:
./duplicity-restore.sh "2018-02-08" "dir1/dir2/dir name with spaces/filename.txt" /destination/

以上导致错误“预期 2 个参数,得到 15 个”

仅引用名称中带有空格的目录:
./duplicity-restore.sh "2018-02-08" dir1/dir2/'dir name with spaces'/filename.txt

以上导致错误“预期 2 个参数,得到 15 个”

目录名称中每个空格旁边的转义斜杠:
./duplicity-restore.sh "2018-02-08" dir1/dir2/dir\ name\ with\ spaces/filename.txt /destination/

以上导致错误“预期 2 个参数,得到 15 个”

看来,无论我如何尝试转义目录名称中的空格,Duplicity 都将每个空格视为一个单独的参数。我要恢复的文件有几个目录,所有目录的名称中都包含空格。

Duplicity 版本是 0.7.17,在 CentOS 7 上运行并备份到 Amazon S3 存储桶。

最佳答案

这是您的包装器外壳脚本中的一个错误,而不是重复性。如果您希望将参数视为一个参数,则必须将其重新包装在引号中。

duplicity ... --file-to-restore "$2" ...

..ede/duply.net

关于amazon-s3 - 重复性:使用目录名称中的空格进行还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51657415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com