Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 重复性:在目录名中使用空格还原_Amazon S3_Centos_Backup_Restore_Duplicity - Fatal编程技术网

Amazon s3 重复性:在目录名中使用空格还原

Amazon s3 重复性:在目录名中使用空格还原,amazon-s3,centos,backup,restore,duplicity,Amazon S3,Centos,Backup,Restore,Duplicity,我正在尝试使用duplicity包装脚本(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 ke

我正在尝试使用duplicity包装脚本(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=
上述结果导致错误“在存档中找不到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中的错误。如果你想把一个论点当作一个论点来对待,你就必须用引号把它改写

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

…ede/duply.net

这是包装器shell脚本中的错误,而不是重复性。如果你想把一个论点当作一个论点来对待,你就必须用引号把它改写

duplicity ... --file-to-restore "$2" ...
..ede/duply.net